7 de junio, 2021
We selected three datasets (Projects) from the “Harmonized Cancer Datasets” section from the Genomic Data Commons Data Portal with “transcriptome profiling” as “Data Category” and “RNA-Seq” as “Experimental Strategy”:
| Project | Primary Site | Focus | Usage | Access |
|---|---|---|---|---|
| TCGA-COAD | colon | Colon Adenocarcinoma | controls | https://portal.gdc.cancer.gov/projects/TCGA-COAD |
| TCGA-GBM | brain | Glioblastoma Multiforme | cases | https://portal.gdc.cancer.gov/projects/TCGA-GBM |
| TCGA-LGG | brain | Brain Lower Grade Glioma | cases | https://portal.gdc.cancer.gov/projects/TCGA-LGG |
Two main blocks defined the analysis plan:
The 1st block includes the traditional analyses to identify differences in gene expression between cases and controls. Here we will perform two analyses:
Here we will compare the glioma sets versus the colon set, one at a time
A | TCGA-COAD vs. TCGA-GBM <--- DE genes between colon and glioma
B | TCGA-COAD vs. TCGA-LGG <--- DE genes between colon and glioma
From this analysis we want to obtain the DE genes that will help to identify samples from “glioblastoma multiforme” and “brain low grade glioma”. Therefore, no “colon adenocarcinoma” samples will be used.
C | TCGA-GBM vs. TCGA-LGG <--- DE genes between glioma and low grade glioma
The first analysis helped to identify genes that classify cases and controls. The current result help classify types of cases.
This block is focused on machine learning techniques to properly classify patients with (sub-)types of glioma.
This analysis is focused on understanding how clustering algorithms works and classifies samples. Therefore, knn, k-means, herarchical clustering, Gaussian Mixture Model (GMM) and DBSCAN will be used to classify the samples but:
## packages to be used in the analysis
library(Biobase)
library(SummarizedExperiment)
library(TCGAbiolinks)
library(factoextra)
library(edgeR)
library(limma)
library(AnnotationDbi)
library(org.Hs.eg.db)
library(ggvenn)
library(gplots)
library(ggpubr)
library(RColorBrewer)
library(scales)
library(clusterProfiler)
library(rWikiPathways)
library(DOSE)
library(magrittr)
library(enrichplot)
library(Rgraphviz)
library(dplyr)
library(cowplot)
library(kableExtra)
library(tm)
library(wordcloud)
First all the data from TGCA projects are download.
tcga_gbm <- GDCquery(
project = "TCGA-GBM",
data.category = "Transcriptome Profiling",
experimental.strategy = "RNA-Seq",
workflow.type = "HTSeq - Counts"
)
GDCdownload(query = tcga_gbm)
tcga_gbm <- GDCprepare(tcga_gbm)
save(tcga_gbm, file="data/tcga_gbm_se.RData")
tcga_lgg <- GDCquery(
project = "TCGA-LGG",
data.category = "Transcriptome Profiling",
experimental.strategy = "RNA-Seq",
workflow.type = "HTSeq - Counts"
)
GDCdownload(query = tcga_lgg)
tcga_lgg <- GDCprepare(tcga_lgg)
save(tcga_lgg, file="data/tcga_lgg_se.Rdata")
tcga_coad <- GDCquery(
project = "TCGA-COAD",
data.category = "Transcriptome Profiling",
experimental.strategy = "RNA-Seq",
workflow.type = "HTSeq - Counts"
)
GDCdownload(query = tcga_coad)
tcga_coad <- GDCprepare(tcga_coad)
save(tcga_coad, file="data/tcga_coad_se.RData")
The SummarizedExperiment objects are converted to ExpressionSet. Data download of the data is a proccess that may require some time and computational cost. In this sense, data are saved as a Rdata file.
class(tcga_gbm)
tcga_gbm <- ExpressionSet(
assayDat = assays(tcga_gbm)[[1]],
phenoData = as(data.frame(colData(tcga_gbm)), "AnnotatedDataFrame"),
featureData = as(data.frame(rowData(tcga_gbm)), "AnnotatedDataFrame"),
experimentData = MIAME()
)
class(tcga_gbm)
save(tcga_gbm, file="data/tcga_gbm.RData")
class(tcga_lgg)
tcga_lgg <- ExpressionSet(
assayDat = assays(tcga_lgg)[[1]],
phenoData = as(data.frame(colData(tcga_lgg)), "AnnotatedDataFrame"),
featureData = as(data.frame(rowData(tcga_lgg)), "AnnotatedDataFrame"),
experimentData = MIAME()
)
class(tcga_lgg)
save(tcga_lgg, file="data/tcga_lgg.RData")
class(tcga_coad)
tcga_coad <- ExpressionSet(
assayDat = assays(tcga_coad)[[1]],
phenoData = as(data.frame(colData(tcga_coad)), "AnnotatedDataFrame"),
featureData = as(data.frame(rowData(tcga_coad)), "AnnotatedDataFrame"),
experimentData = MIAME()
)
class(tcga_coad)
save(tcga_coad, file="data/tcga_coad.RData")
In the case, you need to load the data from file.
load("data/tcga_gbm.RData")
load("data/tcga_lgg.RData")
load("data/tcga_coad.RData")
The data is generated using RNA-Seq technology and processed with HTSeq, indicating that the expression matrices of the ExpressionSet contains counts:
Therefore is should be analyzed using combining voom with limma.
Let’s see the features(genes) in common across the three sets:
int_fet <- intersect(
intersect(featureNames(tcga_gbm), featureNames(tcga_lgg)),
featureNames(tcga_coad)
)
length(int_fet)
## [1] 56602
#Join cases
raw_exprs <- cbind(
exprs(tcga_gbm[int_fet, ]),
exprs(tcga_lgg[int_fet, ]),
exprs(tcga_coad[int_fet, ])
)
dim(raw_exprs)
## [1] 56602 1224
save(raw_exprs, file="data/raw_exprs.RData")
#groups in dataset
group_f <- as.factor(ifelse(colnames(raw_exprs) %in% sampleNames(tcga_gbm), "gbm",
ifelse(colnames(raw_exprs) %in% sampleNames(tcga_lgg), "lgg",
"colon")
)
)
table(group_f)
## group_f
## colon gbm lgg
## 521 174 529
#Deleting variables
rm(tcga_coad,tcga_gbm,tcga_lgg, int_fet)
In the join dataset, there are 56602 genes and 1224 cases.
Three differents filter approach has been follow: + Based on count variance + Based on FilterByExprs function from edgeR (CPM equal to 10 divided by median library size in M) + Based on standard CPM thresold 1
#for filtering purpose data are transformed to log-cpm
myCPM <-cpm(raw_exprs)
#mean and median of library sizes in M
col_sum <- colSums(raw_exprs)
mlib <- mean(col_sum) * 1e-6
mlib
## [1] 44.71759
medlib <- median(col_sum) * 1e-6
medlib
## [1] 46.52847
hist(col_sum * 1e-6,
las= 2, col = "navyblue",
main="Histogram of library sizes",
xlab="Library size (M)")
abline(v = mlib, col = "grey")
abline(v = medlib, col = "red")
### Variance filtering
#Based on variance > 1 of counts for each gene
var_set <- apply(raw_exprs, 1, var)
#number of genes retained with var set approach
sum(var_set > 1)
## [1] 41747
### FilterByExprs function
# Based on FilterByExprs function from edgeR
keep.exprs <- filterByExpr(raw_exprs, group = group_f)
#number of genes retained with var set approach
sum(keep.exprs)
## [1] 26231
### CPM equal to standard value 1
# threshold to get upper values
thresh <- myCPM > 1
#cpm equal to 1 is a standard threshold
# Genes which are retained are those whose cpm is
# above thresh in half of the minimum cases of the
# less abundant group cases
#n samples retained
keepn <- round(min(tabulate(group_f))*0.5,0)
#genes to retain
keepcpm <- rowSums(thresh) >= keepn
#number of genes retained with cpm > 1 approach
sum(keepcpm)
## [1] 20573
#identifying retained genes
keeprow <- attr(keepcpm,"names")[keepcpm==T]
Genes after filtering for every aproach: + Based on count variance = 41747
+ Based on FilterByExprs function from edgeR = 26231 + Based on standard CPM thresold 1 = 20573
Between the last two, it shouldn’t be a big different, but the first approach is not recommended due to it is calculated only with the variance of the counts, without taking into account library size.
#filter dataset
full_exprs <- raw_exprs[keeprow,]
save(full_exprs, file="data/full_exprs.RData")
#deleting variables
rm(myCPM, var_set, keep.exprs,
thresh, keepcpm, keepn, keeprow,
medlib,mlib,col_sum)
As well as how they behave in a PCA:
set.seed(123456789)
#### Optional
## Reducing number of cases to reduce computational cost
## If you want to reduce number of cases changes percent
percent <- 1
pca_samples_ids <- sort(sample(x = 1:length(colnames(full_exprs)),
size = length(colnames(full_exprs))*percent,
replace = FALSE))
pca_group <- group_f[pca_samples_ids]
#Proportion in the full and in the reduced datasets of PCA
prop.table(table(pca_group))
## pca_group
## colon gbm lgg
## 0.4256536 0.1421569 0.4321895
prop.table(table(group_f))
## group_f
## colon gbm lgg
## 0.4256536 0.1421569 0.4321895
#PCA function prcomp CENTERING but NOT scaling
pca_f <- prcomp(t(full_exprs[,pca_samples_ids]),
center = TRUE,
scale = FALSE)
#PCA plot
fig_pca.a1 <- fviz_pca_ind(pca_f,
geom = "point",
col.ind = pca_group
)
fig_pca.a1
#deleting variables
rm(pca_f)
Normalization is done with edgeR and then voom transformation and calculation of variance weights.
countstovoom <- function(data, group, use.method = "TMM", make.plot = TRUE){
#DGE built object
dge <- DGEList(data)
#calculations of norm factors based on library size
normfactor <- calcNormFactors(dge,method = use.method)
#model design based on dataset groups
design_mod <- model.matrix(~ 0 + group)
colnames(design_mod) <- levels(group)
#voom function object
return(voom(normfactor,design_mod, plot = make.plot))
#deleting variables
rm(dge,normfactor)
}
#apply voom fn
v.F <- countstovoom(full_exprs, group_f)
save(v.F, file="data/v.F.RData")
How they behave after data normalization in the PCA?
#pca function
pcanorm_f <- prcomp(t(v.F$E[,pca_samples_ids]),
center = TRUE,
scale = FALSE)
#pca plot
fig_pcanorm.a1 <- fviz_pca_ind(pcanorm_f,
geom = "point",
col.ind = pca_group)
fig_pcanorm.a1
#deleting variables
rm(pcanorm_f, pca_samples_ids, pca_group)
In this step, lmFit functions built a model using voom data and with makeConstrasts of limma groups comparisons are specified.
#function to built linear model
linmod <- function(voomobj, group, contrast.mod, make.plot = TRUE){
#model design based on dataset groups
design <- model.matrix(~ 0 + group)
colnames(design) <- levels(group)
#lmFit function limma
lm <- lmFit(voomobj,design)
#makeContrasts function
contmat <- makeContrasts(contrasts = contrast.mod,
levels = design)
#contrasts.fit function based on linear model
fit.cont <- contrasts.fit(lm,contmat)
#bayesian transformation
fit.cont <- eBayes(fit.cont)
#normalized fitlinear plot
if (make.plot == TRUE){
plotSA(fit.cont, main = "voom: Mean-variance trend")
}
return(fit.cont)
}
#Building linear model
fit.cont.F <- linmod(v.F,group_f,
contrast.mod = c("gbm-colon", "lgg-colon"))
save(fit.cont.F, file="data/fit.cont.F.RData")
DEA is performed based on TREAT function and topTREAT (McCarthy and Smyth 2009). The function treat of limma library allow from the fit.cont object and a “log fold change” (logFC) recalculate the moderate t-statistics and p-values. This procedure is much more precise to control FDR than discard genes based on p-values and logFC.
Annotation was done with the org.Hs.eg.db database using ENTREZID, SYMBOL and GENENAME features.
#DEG based on treat function procedure
fit.treat.F <- treat(fit.cont.F,lfc=2)
res.treat.F <- decideTests(fit.treat.F)
#Annotation for fit.treat object
ann <- AnnotationDbi::select(org.Hs.eg.db,
keys=rownames(fit.treat.F),
keytype= "ENSEMBL",
columns=c("ENTREZID","SYMBOL","GENENAME"),
multiVals="first")
#removing duplicated in the samples
ann <- ann[!duplicated(ann$ENSEMBL),]
#adding gen labels to fit.treat_genes
fit.treat.F$genes <- ann
#GBM vs colon
topGBM <- topTreat(fit.treat.F,
coef= "gbm-colon",
sort.by= "logFC",
number = sum(summary(
res.treat.F)[,"gbm-colon"]))
rownames(topGBM) <- NULL
head(topGBM, 10)
## ENSEMBL ENTREZID SYMBOL
## 1 ENSG00000105388 1048 CEACAM5
## 2 ENSG00000131095 2670 GFAP
## 3 ENSG00000086548 4680 CEACAM6
## 4 ENSG00000171885 361 AQP4
## 5 ENSG00000106541 10551 AGR2
## 6 ENSG00000165556 1045 CDX2
## 7 ENSG00000198788 4583 MUC2
## 8 ENSG00000147588 5375 PMP2
## 9 ENSG00000101076 3172 HNF4A
## 10 ENSG00000233041 644844 PHGR1
## GENENAME logFC
## 1 CEA cell adhesion molecule 5 -17.14680
## 2 glial fibrillary acidic protein 15.55718
## 3 CEA cell adhesion molecule 6 -15.08564
## 4 aquaporin 4 14.65190
## 5 anterior gradient 2, protein disulphide isomerase family member -14.43311
## 6 caudal type homeobox 2 -13.51217
## 7 mucin 2, oligomeric mucus/gel-forming -13.44111
## 8 peripheral myelin protein 2 13.37128
## 9 hepatocyte nuclear factor 4 alpha -13.21911
## 10 proline, histidine and glycine rich 1 -12.96114
## AveExpr t P.Value adj.P.Val
## 1 1.62716264 -63.78436 0.000000e+00 0.000000e+00
## 2 6.93122066 76.41363 0.000000e+00 0.000000e+00
## 3 1.20693450 -45.19769 1.308082e-263 1.454657e-261
## 4 3.58958254 61.77911 0.000000e+00 0.000000e+00
## 5 1.23101694 -45.32857 1.422799e-264 1.608310e-262
## 6 0.02344595 -46.78618 2.965886e-275 3.653723e-273
## 7 0.29562304 -19.45448 5.594337e-74 8.174169e-73
## 8 3.80555864 63.88716 0.000000e+00 0.000000e+00
## 9 0.91760624 -58.38367 0.000000e+00 0.000000e+00
## 10 -0.58206078 -31.48332 3.251687e-160 1.181925e-158
#LGG vs colon
topLGG <- topTreat(fit.treat.F,
coef= "lgg-colon",
sort.by= "logFC",
number = sum(summary(
res.treat.F)[,"lgg-colon"]))
rownames(topLGG) <- NULL
head(topLGG, 10)
## ENSEMBL ENTREZID SYMBOL
## 1 ENSG00000105388 1048 CEACAM5
## 2 ENSG00000131095 2670 GFAP
## 3 ENSG00000086548 4680 CEACAM6
## 4 ENSG00000171885 361 AQP4
## 5 ENSG00000106541 10551 AGR2
## 6 ENSG00000147588 5375 PMP2
## 7 ENSG00000198788 4583 MUC2
## 8 ENSG00000130287 1463 NCAN
## 9 ENSG00000165556 1045 CDX2
## 10 ENSG00000170421 3856 KRT8
## GENENAME logFC
## 1 CEA cell adhesion molecule 5 -17.15147
## 2 glial fibrillary acidic protein 15.94757
## 3 CEA cell adhesion molecule 6 -15.26441
## 4 aquaporin 4 14.42649
## 5 anterior gradient 2, protein disulphide isomerase family member -14.23910
## 6 peripheral myelin protein 2 13.86311
## 7 mucin 2, oligomeric mucus/gel-forming -13.84622
## 8 neurocan 13.50158
## 9 caudal type homeobox 2 -13.46898
## 10 keratin 8 -13.39811
## AveExpr t P.Value adj.P.Val
## 1 1.62716264 -109.17664 0.000000e+00 0.000000e+00
## 2 6.93122066 86.98659 0.000000e+00 0.000000e+00
## 3 1.20693450 -78.14517 0.000000e+00 0.000000e+00
## 4 3.58958254 64.97898 0.000000e+00 0.000000e+00
## 5 1.23101694 -78.49547 0.000000e+00 0.000000e+00
## 6 3.80555864 71.72526 0.000000e+00 0.000000e+00
## 7 0.29562304 -33.91903 1.062875e-178 1.593771e-177
## 8 3.27127162 63.24119 0.000000e+00 0.000000e+00
## 9 0.02344595 -79.68974 0.000000e+00 0.000000e+00
## 10 4.05187462 -114.67706 0.000000e+00 0.000000e+00
#savedata
dir.create(path = "DEAsets")
## Warning in dir.create(path = "DEAsets"): 'DEAsets' already exists
writexl::write_xlsx(topGBM, path = "DEAsets/topGBM.xlsx")
writexl::write_xlsx(topLGG, path = "DEAsets/topLGG.xlsx")
save(topGBM,file = "data/topGBM.RData")
save(topLGG, file = "data/topLGG.RData")
#Sum up of all the DEG for comparisons.
summary(res.treat.F)
## gbm-colon lgg-colon
## Down 1788 2567
## NotSig 15736 14441
## Up 3049 3565
#delenting variables
rm(ann, fit.cont.F)
Mean-difference plots as a results of the DEA.
par(mfrow=c(1,2))
#MD gbm vs colon
md.dea1 <- plotMD(fit.treat.F,coef=1,
status=res.treat.F[,"gbm-colon"],
values=c(-1,1),
main = "GBM vs colon",
legend = FALSE,
cex = 0.1)
abline(h=0,col="grey")
#MD lgg vs colon
plotMD(fit.treat.F,coef=2,
status=res.treat.F[,"lgg-colon"],
values=c(-1,1),
main = "LGG vs colon",
legend = FALSE,
cex = 0.1)
abline(h=0,col="grey")
This chunk consiste on create gene sets for functional analysis afterwards.
p.value <- .05
log.FC <- 2
IDgene <- c("ENTREZID", "ENSEMBL","SYMBOL")
parameter <- c("logFC", "adj.P.Val")
##GBM genesets
#universe geneset
gbm.all.genelist <- topGBM[,c(IDgene,parameter)]
gbm.all.gene <- gbm.all.genelist[,"logFC"]
names(gbm.all.gene) <- as.character(gbm.all.genelist[,"ENTREZID"])
gbm.all.gene <- sort(gbm.all.gene, decreasing = TRUE)
#up geneset
gbm.up.genelist <- topGBM[topGBM$adj.P.Val < p.value & topGBM$logFC > log.FC,
c(IDgene,parameter)]
gbm.up.gene <- gbm.up.genelist[,"logFC"]
names(gbm.up.gene) <- as.character(gbm.up.genelist[,"ENTREZID"])
gbm.up.gene <- sort(gbm.up.gene, decreasing = TRUE)
#down geneset
gbm.dn.genelist <- topGBM[topGBM$adj.P.Val < p.value & topGBM$logFC < log.FC,
c(IDgene,parameter)]
gbm.dn.gene <- gbm.dn.genelist[,"logFC"]
names(gbm.dn.gene) <- as.character(gbm.dn.genelist[,"ENTREZID"])
gbm.dn.gene <- sort(gbm.dn.gene, decreasing = TRUE)
##LGG genesets
#universe geneset
lgg.all.genelist <- topLGG[,c(IDgene,parameter)]
lgg.all.gene <- lgg.all.genelist[,"logFC"]
names(lgg.all.gene) <- as.character(lgg.all.genelist[,"ENTREZID"])
lgg.all.gene <- sort(lgg.all.gene, decreasing = TRUE)
#up geneset
lgg.up.genelist <- topLGG[topLGG$adj.P.Val < p.value & topLGG$logFC > log.FC,
c(IDgene,parameter)]
lgg.up.gene <- lgg.up.genelist[,"logFC"]
names(lgg.up.gene) <- as.character(lgg.up.genelist[,"ENTREZID"])
lgg.up.gene <- sort(lgg.up.gene, decreasing = TRUE)
#down geneset
lgg.dn.genelist <- topLGG[topLGG$adj.P.Val < p.value & topLGG$logFC < log.FC,
c(IDgene,parameter)]
lgg.dn.gene <- lgg.dn.genelist[,"logFC"]
names(lgg.dn.gene) <- as.character(lgg.dn.genelist[,"ENTREZID"])
lgg.dn.gene <- sort(lgg.dn.gene, decreasing = TRUE)
##function to identify tables after Functional analysis
id.table <- function(tableid, size = 20){
var.name <<- deparse(substitute(tableid))
table.name <<- head(tableid, size)
table.name$table.id <<- rep(var.name,size) #add a table id
classif <<- strsplit2(table.name$table.id, split = "\\.")
colnames(classif) <<- c("tool","cancer","regulation_proccess")
table.name <- cbind(table.name, classif)
return(table.name)
}
Venn diagrams are showed as a result of DEA. Genes up and down-regulated are represented for each subtype of glioma.
#list for venn diagram
venn_list <- list(gbm.up = gbm.up.genelist$ENSEMBL,
gbm.down = gbm.dn.genelist$ENSEMBL,
lgg.up = lgg.up.genelist$ENSEMBL,
lgg.down = lgg.dn.genelist$ENSEMBL)
v.table <- venn(data = venn_list,
universe = gbm.all.genelist$ENSEMBL,
small=0.7, showSetLogicLabel=FALSE,
show.plot=FALSE, intersections=TRUE,
names = c("GBM vs colon up",
"GBM vs colon down",
"LGG vs colon up",
"LGG vs colon down")
)
isect <- attr(v.table, "intersection")
#venn diagram plot
par(mfrow=c(1,1))
ggvenn(venn_list,
fill_color = brewer.pal(8, "Dark2"),
stroke_size = 0.2, set_name_size = 4.5)
In this chunk, it is shown genes that are exclusive for GBM vs colon, and LGG vs colon.
#specific genes for up and regulation in GBM excluding common genes with lgg vs colon comparison
gbm.specific <- c(isect[["GBM vs colon up"]],isect[["GBM vs colon down"]])
length(gbm.specific)
## [1] 529
gbm.specific.table <- topGBM[topGBM$ENSEMBL %in% gbm.specific,]
head(gbm.specific.table)
## ENSEMBL ENTREZID SYMBOL GENENAME
## 558 ENSG00000133048 1116 CHI3L1 chitinase 3 like 1
## 660 ENSG00000183072 1482 NKX2-5 NK2 homeobox 5
## 717 ENSG00000163064 2019 EN1 engrailed homeobox 1
## 783 ENSG00000171540 23440 OTP orthopedia homeobox
## 828 ENSG00000229108 <NA> <NA> <NA>
## 1168 ENSG00000258754 105369203 LOC105369203 uncharacterized LOC105369203
## logFC AveExpr t P.Value adj.P.Val
## 558 6.619692 5.2050587 21.49606 1.564206e-87 2.670573e-86
## 660 6.348811 -3.4069746 24.64851 1.410261e-109 3.136574e-108
## 717 6.225122 -2.6774457 20.35025 7.623488e-80 1.182790e-78
## 783 6.076074 -3.7766760 24.95124 9.436141e-112 2.171473e-110
## 828 5.949584 -3.4679585 22.41378 7.972513e-94 1.468384e-92
## 1168 5.232189 -0.2037976 20.58921 1.974177e-81 3.124212e-80
#specific genes for up and down regulation in LGG excluding common genes with gbm vs colon comparison
lgg.specific <- c(isect[["LGG vs colon up"]],isect[["LGG vs colon down"]])
length(lgg.specific)
## [1] 1824
lgg.specific.table <- topLGG[topLGG$ENSEMBL %in% lgg.specific,]
head(lgg.specific.table)
## ENSEMBL ENTREZID SYMBOL GENENAME
## 575 ENSG00000119973 2834 PRLHR prolactin releasing hormone receptor
## 621 ENSG00000133110 10631 POSTN periostin
## 829 ENSG00000120093 3213 HOXB3 homeobox B3
## 960 ENSG00000122592 3204 HOXA7 homeobox A7
## 965 ENSG00000106004 3202 HOXA5 homeobox A5
## 985 ENSG00000108846 8714 ABCC3 ATP binding cassette subfamily C member 3
## logFC AveExpr t P.Value adj.P.Val
## 575 7.608142 -1.47329962 23.79561 1.685278e-103 1.394099e-102
## 621 -7.472269 3.32901884 -28.56760 2.709506e-138 2.958740e-137
## 829 -6.836583 1.72891900 -35.94475 4.140025e-194 7.044891e-193
## 960 -6.501572 -0.75349270 -27.66768 1.321081e-131 1.364387e-130
## 965 -6.492158 -0.06435987 -29.19162 5.891983e-143 6.697003e-142
## 985 -6.449376 4.26555037 -38.61767 2.126249e-214 4.284360e-213
Analysis from rwikipathways (Slenter et al. 2018).
clusterProfiler provides enricher function for hypergeometric test and GSEA function for gene set enrichment analysis that are designed to accept user defined annotation. First we are gonna update information for Wikipathways and download the data from database.
#Download pathways from homo sapiens to localfile
wp.hs.gmt<- downloadPathwayArchive(organism="Homo sapiens",
format="gmt")
wp2gene <- readPathwayGMT(wp.hs.gmt)
#Establish ID for wikipathways database
wpid2gene <- wp2gene %>% dplyr::select(wpid,gene) #TERM2GENE
wpid2name <- wp2gene %>% dplyr::select(wpid,name) #TERM2NAME
### GBM
#ORA pathway up
ewp.gbm.up <- enricher(gene = names(gbm.up.gene),
universe = names(gbm.all.gene),
pAdjustMethod = "BH",
pvalueCutoff = .05,
TERM2GENE = wpid2gene,
TERM2NAME = wpid2name)
ewp.gbm.up <- DOSE::setReadable(ewp.gbm.up, org.Hs.eg.db, keyType = "ENTREZID")
head(ewp.gbm.up)
## ID
## WP4159 WP4159
## WP2267 WP2267
## WP4875 WP4875
## WP4304 WP4304
## WP536 WP536
## WP455 WP455
## Description
## WP4159 GABA receptor Signaling
## WP2267 Synaptic Vesicle Pathway
## WP4875 Disruption of postsynaptic signaling by CNV
## WP4304 Oligodendrocyte specification and differentiation, leading to myelin components for CNS
## WP536 Calcium Regulation in the Cardiac Cell
## WP455 GPCRs, Class A Rhodopsin-like
## GeneRatio BgRatio pvalue p.adjust qvalue
## WP4159 17/802 30/6511 7.395508e-09 3.076532e-06 2.950419e-06
## WP2267 21/802 50/6511 1.245259e-07 2.590139e-05 2.483964e-05
## WP4875 16/802 33/6511 3.696498e-07 5.125811e-05 4.915694e-05
## WP4304 14/802 28/6511 1.256312e-06 1.306564e-04 1.253006e-04
## WP536 38/802 145/6511 3.230652e-06 2.451948e-04 2.351438e-04
## WP455 39/802 151/6511 3.536463e-06 2.451948e-04 2.351438e-04
## geneID
## WP4159 SLC6A11/GABBR2/GABRA1/GAD2/SLC6A1/GABRG1/GABRA5/GABRQ/GABRG2/SLC32A1/GABRA3/GABRB3/GABRG3/GAD1/ABAT/GABRB1/GABBR1
## WP2267 ATP1A2/SLC1A3/SNAP25/SLC17A7/SLC32A1/SYN2/SLC17A6/RIMS1/STX1B/UNC13A/SYP/UNC13C/CACNA1A/SYN1/CPLX2/SLC17A8/CACNA1B/DNM3/SYT1/RAB3A/DNM1
## WP4875 NLGN1/RPH3A/NRXN1/CAMK2B/ARC/NLGN3/CAMK2A/DLGAP1/NLGN4X/GRIN2A/NRXN2/DLG2/SHANK1/GRM1/NLGN2/GRIN2C
## WP4304 OLIG1/OLIG2/PLP1/MOG/ASCL1/MAG/NKX2-2/OMG/SOX8/SOX5/MYT1/SOX6/FGF2/MBP
## WP536 ADCY8/ATP1B2/ATP2B2/CAMK2B/CAMK2A/ADCY2/CASQ1/KCNB1/RGS20/RGS7/GNAO1/SLC8A3/RGS6/ATP2B3/GNG7/PKIA/GNG3/CACNA1A/RYR1/GJA1/ADRA1A/CACNA1E/ADCY1/RYR3/GNAZ/ADRA1D/ADRA1B/GNG2/PRKD1/ATP1A4/RGS17/GJD2/KCNJ5/CACNA1B/RGS4/GNB4/GJC1/GNG8
## WP455 NTSR2/CNR1/GALR1/P2RY12/GPR12/GPR37L1/CX3CR1/MCHR1/ADORA1/GPR37/GPR173/GPR17/HRH3/NPY2R/GPR85/EDNRB/CCKBR/ADRA1A/HTR5A/OPRL1/GPR27/GPR75/LPAR4/GPR34/ADRA1D/FPR1/ADRA1B/OR7A5/OPRK1/OXTR/APLNR/GPR19/GPR22/GPR45/CYSLTR2/SSTR2/GPER1/CCR10/P2RY13
## Count
## WP4159 17
## WP2267 21
## WP4875 16
## WP4304 14
## WP536 38
## WP455 39
p1<-barplot(ewp.gbm.up,
showCategory = 7,
font.size = 7,
label_format = 15)+
ggtitle("GBM vs Colon DEG up")
ewp.gbm.up <- id.table(ewp.gbm.up)
#ORA pathway dn
ewp.gbm.dn <- enricher(gene = names(gbm.dn.gene),
universe = names(gbm.all.gene),
pAdjustMethod = "BH",
pvalueCutoff = .05,
TERM2GENE = wpid2gene,
TERM2NAME = wpid2name)
ewp.gbm.dn <- DOSE::setReadable(ewp.gbm.dn, org.Hs.eg.db, keyType = "ENTREZID")
head(ewp.gbm.dn)
## ID Description GeneRatio BgRatio
## WP2877 WP2877 Vitamin D Receptor Pathway 36/583 155/6511
## WP702 WP702 Metapathway biotransformation Phase I and II 33/583 145/6511
## WP698 WP698 Glucuronidation 8/583 15/6511
## WP1604 WP1604 Codeine and Morphine Metabolism 6/583 11/6511
## WP691 WP691 Tamoxifen metabolism 7/583 16/6511
## WP2876 WP2876 Pregnane X receptor pathway 9/583 26/6511
## pvalue p.adjust qvalue
## WP2877 5.592415e-08 0.0000233763 2.166325e-05
## WP702 3.362756e-07 0.0000702816 6.513127e-05
## WP698 1.437237e-05 0.0020025502 1.855801e-03
## WP1604 1.568282e-04 0.0163885462 1.518757e-02
## WP691 2.481094e-04 0.0180812166 1.675620e-02
## WP2876 2.699387e-04 0.0180812166 1.675620e-02
## geneID
## WP2877 TPM1/EPHB4/CTLA4/LRP5/PTGER4/SOSTDC1/MYC/KRTAP5-1/SPRR1B/SERPINB1/SULT2A1/KNG1/IRF4/CASP5/KLF4/BDKRB1/CRACR2A/SULT1C2/CRACR2B/CYP2C9/CYP3A5/KRTAP4-1/ALPG/TNFSF11/VDR/CYP2S1/ATP2C2/ALPI/NOX1/CST1/HNF1A/CEACAM1/HSD17B2/CLDN2/CYP2B6/CDX2
## WP702 FMO5/CHST5/CYP39A1/GLYATL1/AKR1C3/SULT2A1/CYP4F3/GSTO2/NAT2/SULT1C2/UGT1A1/GSTA1/AKR1C4/AKR7A3/CYP2C9/GAL3ST2/CYP3A5/SULT2B1/SULT1B1/CYP4F12/AKR1B10/CYP4F2/CYP2S1/UGT1A6/UGT2B7/CYP2C18/UGT2B15/UGT2B17/CYP2W1/UGT1A10/UGT2A3/CYP2B6/GPX2
## WP698 UGT1A1/UGT1A8/UGT1A6/UGT2B7/UGT2B15/UGT2B17/UGT1A10/UGT2A3
## WP1604 ABCC2/UGT1A1/UGT1A8/UGT1A6/UGT2B7/UGT1A10
## WP691 SULT2A1/CYP2C9/CYP3A5/UGT1A8/UGT2B7/UGT2B15/UGT1A10
## WP2876 ABCC2/SULT2A1/UGT1A1/CYP2C9/CYP3A5/CYP4F12/UGT1A6/NR1I2/CYP2B6
## Count
## WP2877 36
## WP702 33
## WP698 8
## WP1604 6
## WP691 7
## WP2876 9
p2<-barplot(ewp.gbm.dn,
showCategory = 7,
font.size = 7,
label_format = 15)+
ggtitle("GBM vs Colon DEG down")
ewp.gbm.dn <- id.table(ewp.gbm.dn, size = 12)
### LGG
#ORA pathway up
ewp.lgg.up <- enricher(gene = names(lgg.up.gene),
universe = names(lgg.all.gene),
pAdjustMethod = "BH",
pvalueCutoff = .05,
TERM2GENE = wpid2gene,
TERM2NAME = wpid2name)
ewp.lgg.up <- DOSE::setReadable(ewp.lgg.up, org.Hs.eg.db, keyType = "ENTREZID")
head(ewp.lgg.up)
## ID Description GeneRatio BgRatio
## WP536 WP536 Calcium Regulation in the Cardiac Cell 54/946 145/6511
## WP4159 WP4159 GABA receptor Signaling 20/946 30/6511
## WP455 WP455 GPCRs, Class A Rhodopsin-like 51/946 151/6511
## WP2267 WP2267 Synaptic Vesicle Pathway 25/946 50/6511
## WP4875 WP4875 Disruption of postsynaptic signaling by CNV 18/946 33/6511
## WP117 WP117 GPCRs, Other 24/946 60/6511
## pvalue p.adjust qvalue
## WP536 6.504314e-12 2.816368e-09 2.581186e-09
## WP4159 1.032758e-10 2.235920e-08 2.049209e-08
## WP455 1.477912e-09 2.133120e-07 1.954993e-07
## WP2267 2.801075e-09 3.032163e-07 2.778961e-07
## WP4875 8.516617e-08 7.375390e-06 6.759504e-06
## WP117 1.132797e-06 8.175017e-05 7.492358e-05
## geneID
## WP536 ADCY8/ATP1B2/ATP2B2/KCNB1/CAMK2B/ADCY2/SLC8A3/CAMK2A/ATP2B3/RGS7/GNAO1/CASQ1/ADRA1A/CACNA1A/RYR1/RGS20/CACNA1E/GNG7/CACNA1B/PKIA/GNG3/GJD2/ATP1A4/RGS6/GNAZ/ADCY1/GJB6/RGS9/GJA1/RGS11/ADCY5/ADRA1B/PRKCB/CHRM1/GNG2/CHRM4/PRKD1/RGS4/PRKCG/RYR3/GNG8/RGS17/FXYD2/KCNJ5/CAMK4/KCNJ3/GNB4/ADRB2/GNG4/PRKCA/GNB3/ADRA1D/ADRB1/SLC8A1
## WP4159 GABBR2/GABRG1/SLC6A11/GABRA1/SLC6A1/GABRG2/GABRA3/GAD2/GABRA5/GABRB3/SLC32A1/GABRQ/GAD1/GABBR1/GABRG3/GABRB1/ABAT/GABRB2/GABRD/GABRA4
## WP455 NTSR2/PRLHR/HRH3/P2RY12/GPR17/GPR37L1/GALR1/CNR1/GPR12/ADRA1A/CX3CR1/GPR27/GPR173/GPR37/CCKBR/HTR5A/HTR2C/GPR85/HTR1A/ADORA1/EDNRB/SSTR2/MCHR1/GPR75/LPAR4/GPR45/HTR2A/OPRK1/OPRL1/GPR22/ADRA1B/CHRM1/CHRM4/GPR19/MAS1/OR7A5/MC4R/GPR34/HTR1E/GPR6/NPY2R/GPR83/P2RY13/ADRB2/GPER1/ADRA1D/ADRB1/OPRD1/CYSLTR2/APLNR/GPR161
## WP2267 ATP1A2/SNAP25/SLC1A3/SLC17A7/UNC13A/SLC32A1/RIMS1/UNC13C/SYN2/STX1B/CPLX2/CACNA1A/SYP/SLC17A6/CACNA1B/SYN1/DNM3/SLC17A8/SYT1/RAB3A/VAMP2/DNM1/SYN3/CPLX1/STXBP1
## WP4875 NRXN1/NLGN1/RPH3A/DLGAP1/CAMK2B/NLGN3/CAMK2A/GRIN2A/NRXN2/DLG2/ARC/SHANK1/GRM1/NLGN4X/GRIN2C/NLGN2/GRIN1/SYNGAP1
## WP117 GPR17/ADGRV1/ADGRL3/CNR1/GPR162/GRM1/GPR62/CCKBR/GPR88/SSTR2/GHRHR/HTR2A/VN1R1/GPR61/TAAR3P/CELSR2/S1PR1/MCHR2/GPR83/P2RY13/ADRB2/ADRA1D/RXFP1/GPR135
## Count
## WP536 54
## WP4159 20
## WP455 51
## WP2267 25
## WP4875 18
## WP117 24
p3<-barplot(ewp.lgg.up,
showCategory = 7,
font.size = 7,
label_format = 15) +
ggtitle("LGG vs Colon DEG up")
ewp.lgg.up <- id.table(ewp.lgg.up)
#ORA pathway dn
ewp.lgg.dn <- enricher(gene = names(lgg.dn.gene),
universe = names(lgg.all.gene),
pAdjustMethod = "BH",
pvalueCutoff = .05,
TERM2GENE = wpid2gene,
TERM2NAME = wpid2name)
ewp.lgg.dn <- DOSE::setReadable(ewp.lgg.dn, org.Hs.eg.db, keyType = "ENTREZID")
head(ewp.lgg.dn)
## ID Description
## WP2877 WP2877 Vitamin D Receptor Pathway
## WP453 WP453 Inflammatory Response Pathway
## WP2911 WP2911 miRNA targets in ECM and membrane receptors
## WP129 WP129 Matrix Metalloproteinases
## WP4884 WP4884 Pathogenesis of SARS-CoV-2 Mediated by nsp9-nsp10 Complex
## WP3624 WP3624 Lung fibrosis
## GeneRatio BgRatio pvalue p.adjust qvalue
## WP2877 52/931 155/6511 7.443735e-10 3.602768e-07 3.220395e-07
## WP453 15/931 25/6511 1.539323e-07 3.725161e-05 3.329798e-05
## WP2911 13/931 24/6511 5.193973e-06 8.379610e-04 7.490256e-04
## WP129 12/931 24/6511 3.497021e-05 4.231395e-03 3.782304e-03
## WP4884 10/931 18/6511 5.000963e-05 4.840933e-03 4.327149e-03
## WP3624 19/931 56/6511 1.667764e-04 1.253186e-02 1.120181e-02
## geneID
## WP2877 LGALS9/THBD/MX2/TPM1/STEAP4/MYC/SOSTDC1/KRTAP5-1/TREM1/CYP27B1/CST6/TNFAIP3/SPRR1B/SALL4/S100A9/IRF4/KLF4/CTLA4/EPHB4/KRT16/KNG1/SULT2A1/S100A6/TNFRSF11B/ADGRE5/PTGER4/CRACR2A/SERPINB1/G0S2/S100A4/CRACR2B/SULT1C2/CYP2C9/CA9/CYP3A5/BDKRB1/CASP5/ATP2C2/ALPG/KRTAP4-1/NOX1/ALPI/TNFSF11/CYP2S1/CST1/VDR/HNF1A/CLDN2/HSD17B2/CEACAM1/CYP2B6/CDX2
## WP453 ZAP70/IL4R/LAMB1/CD28/CD80/CD40LG/IL2RB/LCK/IL2RA/COL1A2/THBS1/IL2RG/COL3A1/COL1A1/LAMC2
## WP2911 ITGA1/ITGA11/COL4A2/COL4A1/COL5A2/COL6A2/COL1A2/THBS1/COL5A1/ITGB6/MIR429/COL3A1/COL6A3
## WP129 MMP2/MMP14/MMP19/TIMP1/MMP13/MMP10/MMP9/MMP11/MMP7/MMP3/MMP1/MMP12
## WP4884 ZAP70/CD247/CD8A/IL6/CD8B/CD3E/CD3G/CD2/LCK/CXCL8
## WP3624 MMP2/CXCL2/IL6/CCR2/CALCA/CCL5/PLAU/CSF3/TIMP1/SERPINA1/TERT/FGF7/CSF2/GREM1/CXCL8/MMP9/DSP/CCL11/MUC5B
## Count
## WP2877 52
## WP453 15
## WP2911 13
## WP129 12
## WP4884 10
## WP3624 19
p4<-barplot(ewp.lgg.dn,
showCategory = 7,
font.size = 7,
label_format = 15)+
ggtitle("LGG vs Colon DEG down")
ewp.lgg.dn <- id.table(ewp.lgg.dn)
#plot grid for results
pt <- plot_grid(p1,p2,p3,p4, ncol = 2)
## to collect all functional analysis results
keep.colums.enricher <- c("ID","Description","pvalue","p.adjust","Count","geneID",
"table.id","tool","cancer","regulation_proccess")
fa.DEA1 <- rbind(ewp.gbm.up[,keep.colums.enricher],
ewp.gbm.dn[,keep.colums.enricher],
ewp.lgg.up[,keep.colums.enricher],
ewp.lgg.dn[,keep.colums.enricher])
set.seed(1234567)
## GBM GSEA
gwp.gbm <- GSEA(geneList = c(gbm.up.gene,
gbm.dn.gene),
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
TERM2GENE = wpid2gene,
TERM2NAME = wpid2name,
verbose = FALSE
)
## Warning in preparePathwaysAndStats(pathways, stats, minSize, maxSize,
## gseaParam, : There are duplicate gene names, fgsea may produce unexpected
## results.
gwp.gbm <- setReadable(gwp.gbm, 'org.Hs.eg.db', 'ENTREZID')
#network plot gbm gsea
cnetplot(gwp.gbm,
foldChange=c(gbm.up.gene,
gbm.dn.gene),
repel = TRUE,
showCategory = 15,
colorEdge = FALSE,
circular = FALSE,
cex_category = 0.6,
cex_gene = 0.4,
cex_label_category = 0.6,
cex_label_gene = 0.3,
main = "GBM vs colon")
#gbm gsea wikipathways up
gwp.gbm.up <- gwp.gbm[which(gwp.gbm$NES > 1),]
head(gwp.gbm.up)
## ID
## WP4875 WP4875
## WP706 WP706
## WP4312 WP4312
## WP4304 WP4304
## WP2380 WP2380
## WP2431 WP2431
## Description
## WP4875 Disruption of postsynaptic signaling by CNV
## WP706 Sudden Infant Death Syndrome (SIDS) Susceptibility Pathways
## WP4312 Rett syndrome causing genes
## WP4304 Oligodendrocyte specification and differentiation, leading to myelin components for CNS
## WP2380 Brain-derived neurotrophic factor (BDNF) signaling pathway
## WP2431 Spinal Cord Injury
## setSize enrichmentScore NES pvalue p.adjust qvalues
## WP4875 16 0.6859665 2.596479 8.819445e-07 6.961109e-05 5.603370e-05
## WP706 43 0.4927865 2.603433 1.023693e-06 6.961109e-05 5.603370e-05
## WP4312 14 0.7106280 2.554302 2.216988e-06 1.005035e-04 8.090062e-05
## WP4304 17 0.6599752 2.532060 4.408177e-06 1.498780e-04 1.206449e-04
## WP2380 31 0.5135583 2.420796 8.020059e-06 2.181456e-04 1.755971e-04
## WP2431 34 0.4896383 2.413056 1.787410e-05 3.307032e-04 2.662007e-04
## rank leading_edge
## WP4875 1205 tags=88%, list=25%, signal=66%
## WP706 806 tags=47%, list=17%, signal=39%
## WP4312 665 tags=71%, list=14%, signal=62%
## WP4304 271 tags=53%, list=6%, signal=50%
## WP2380 1427 tags=68%, list=30%, signal=48%
## WP2431 280 tags=29%, list=6%, signal=28%
## core_enrichment
## WP4875 NLGN1/RPH3A/NRXN1/CAMK2B/ARC/NLGN3/CAMK2A/DLGAP1/NLGN4X/GRIN2A/NRXN2/DLG2/SHANK1/GRM1
## WP706 AQP4/PLP1/ADCYAP1R1/SOX2/POU3F2/ASCL1/SLC1A3/TF/MAP2/SNAP25/NKX2-2/NTRK2/GABRA1/EN1/CHRNA4/SCN3B/CHRNB2/NEUROD1/GCK/ATP1A3
## WP4312 FOXG1/SCN1A/GABBR2/KCNJ10/ACTL6B/SCN2A/HAP1/GABRA3/GNAO1/GRIN2A
## WP4304 OLIG1/OLIG2/PLP1/MOG/ASCL1/MAG/NKX2-2/OMG/SOX8
## WP2380 GRIA2/GRIA1/GRIA3/CNR1/NTRK3/MAPT/NTRK2/CDH2/NCAM1/CAMK2A/DOK5/SPP1/MAPK10/DOCK3/SHC4/NGFR/GABRB3/KCNN2/LINGO1/SYN1/SHC3
## WP2431 GFAP/AQP4/PTPRZ1/NCAN/GAP43/MAG/BCAN/PDYN/OMG/SLIT1
gwp.gbm.up <- id.table(gwp.gbm.up, size = 17)
#gbm gsea wikipathways down
gwp.gbm.dn <- gwp.gbm[which(gwp.gbm$NES < -1),]
head(gwp.gbm.dn)
## ID Description setSize
## WP2882 WP2882 Nuclear Receptors Meta-Pathway 71
## WP2877 WP2877 Vitamin D Receptor Pathway 47
## WP4239 WP4239 Epithelial to mesenchymal transition in colorectal cancer 45
## WP43 WP43 Oxidation by Cytochrome P450 14
## WP702 WP702 Metapathway biotransformation Phase I and II 65
## enrichmentScore NES pvalue p.adjust qvalues rank
## WP2882 -0.3792271 -2.348982 2.081931e-05 0.0003307032 0.0002662007 934
## WP2877 -0.4321458 -2.388570 2.616753e-05 0.0003558785 0.0002864656 1458
## WP4239 -0.3826983 -2.078484 5.386476e-04 0.0061046724 0.0049139778 1159
## WP43 -0.5591131 -2.059786 3.348487e-03 0.0239681187 0.0192932225 748
## WP702 -0.3090767 -1.850582 3.581879e-03 0.0243567796 0.0196060765 1064
## leading_edge
## WP2882 tags=42%, list=19%, signal=35%
## WP2877 tags=77%, list=30%, signal=54%
## WP4239 tags=49%, list=24%, signal=38%
## WP43 tags=57%, list=15%, signal=48%
## WP702 tags=42%, list=22%, signal=33%
## core_enrichment
## WP2882 FGF19/UGT1A1/GSTA1/CES3/SLC39A4/CYP2C9/SLC6A19/CYP3A5/EPB41L4B/CYP4F12/CCL20/KLK15/VDR/SLC6A20/UGT1A6/NR0B2/UGT2B7/ADGRF4/NR1I2/PCK1/SLC6A14/SLC39A5/S100P/FGFBP1/SCNN1A/CYP2B6/SLC5A1/TNS4/FABP1/GPX2
## WP2877 TPM1/EPHB4/CTLA4/LRP5/PTGER4/SOSTDC1/MYC/KRTAP5-1/SPRR1B/SERPINB1/SULT2A1/KNG1/IRF4/CASP5/KLF4/BDKRB1/CRACR2A/SULT1C2/CRACR2B/CYP2C9/CYP3A5/KRTAP4-1/ALPG/TNFSF11/VDR/CYP2S1/ATP2C2/ALPI/NOX1/CST1/HNF1A/CEACAM1/HSD17B2/CLDN2/CYP2B6/CDX2
## WP4239 CLDN16/CLDN14/CLDN23/PKP1/CLDN8/WNT2/GDF15/OCLN/FOXQ1/WNT11/JUP/MAPK13/CLDN1/DSP/PKP2/CDH1/CLDN7/CRB3/CLDN2/CLDN4/CLDN3/TMPRSS4
## WP43 CYP2C9/CYP3A5/CYP4F12/CYP4F2/CYP2S1/CYP2C18/CYP2W1/CYP2B6
## WP702 CYP4F3/GSTO2/NAT2/SULT1C2/UGT1A1/GSTA1/AKR1C4/AKR7A3/CYP2C9/GAL3ST2/CYP3A5/SULT2B1/SULT1B1/CYP4F12/AKR1B10/CYP4F2/CYP2S1/UGT1A6/UGT2B7/CYP2C18/UGT2B15/UGT2B17/CYP2W1/UGT1A10/UGT2A3/CYP2B6/GPX2
gwp.gbm.dn <- id.table(gwp.gbm.dn, size = 5)
## LGG GSEA
gwp.lgg <- GSEA(geneList = c(lgg.up.gene,
lgg.dn.gene),
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
TERM2GENE = wpid2gene,
TERM2NAME = wpid2name,
verbose = FALSE
)
## Warning in preparePathwaysAndStats(pathways, stats, minSize, maxSize,
## gseaParam, : There are duplicate gene names, fgsea may produce unexpected
## results.
gwp.lgg <- setReadable(gwp.lgg, 'org.Hs.eg.db', 'ENTREZID')
#network plot lgg gsea
cnetplot(gwp.lgg,
categorySize="pvalue",
foldChange=c(lgg.up.gene,
lgg.dn.gene),
repel = TRUE,
showCategory = 15,
colorEdge = FALSE,
circular = FALSE,
cex_category = 0.6,
cex_gene = 0.4,
cex_label_category = 0.6,
cex_label_gene = 0.3)
#lgg gsea wikipathways up
gwp.lgg.up <- gwp.lgg[which(gwp.lgg$NES > 1),]
head(gwp.lgg.up)
## ID Description
## WP4875 WP4875 Disruption of postsynaptic signaling by CNV
## WP2267 WP2267 Synaptic Vesicle Pathway
## WP4549 WP4549 Fragile X Syndrome
## WP4159 WP4159 GABA receptor Signaling
## WP3584 WP3584 MECP2 and Associated Rett Syndrome
## WP706 WP706 Sudden Infant Death Syndrome (SIDS) Susceptibility Pathways
## setSize enrichmentScore NES pvalue p.adjust qvalues
## WP4875 18 0.7662915 2.949898 1.656255e-09 3.693448e-07 2.527968e-07
## WP2267 28 0.6193367 2.759765 7.550492e-08 8.418798e-06 5.762217e-06
## WP4549 38 0.5321823 2.616349 1.218639e-06 9.058548e-05 6.200092e-05
## WP4159 22 0.6317221 2.634482 2.129041e-06 1.126505e-04 7.710328e-05
## WP3584 24 0.6027032 2.578570 2.960503e-06 1.126505e-04 7.710328e-05
## WP706 58 0.4345506 2.378905 6.944828e-06 2.177195e-04 1.490174e-04
## rank leading_edge
## WP4875 1322 tags=94%, list=22%, signal=74%
## WP2267 1103 tags=64%, list=18%, signal=53%
## WP4549 1587 tags=68%, list=26%, signal=51%
## WP4159 1365 tags=77%, list=22%, signal=60%
## WP3584 1725 tags=75%, list=28%, signal=54%
## WP706 523 tags=29%, list=9%, signal=27%
## core_enrichment
## WP4875 NRXN1/NLGN1/RPH3A/DLGAP1/CAMK2B/NLGN3/CAMK2A/GRIN2A/NRXN2/DLG2/ARC/SHANK1/GRM1/NLGN4X/GRIN2C/NLGN2/GRIN1
## WP2267 ATP1A2/SNAP25/SLC1A3/SLC17A7/UNC13A/SLC32A1/RIMS1/UNC13C/SYN2/STX1B/CPLX2/CACNA1A/SYP/SLC17A6/CACNA1B/SYN1/DNM3/SLC17A8
## WP4549 GRIA2/GRIA1/NTRK2/SH3GL3/GABRA1/SLC6A1/GABRG2/KCNC1/CAMK2B/KCND2/CAMK2A/GRIN2A/GRM5/CNR1/ARC/SHANK1/GRM1/MAP1B/PTPN5/GAD1/DLGAP3/GRIN1/ABAT/DLG4/AGAP2/FYN
## WP4159 GABBR2/GABRG1/SLC6A11/GABRA1/SLC6A1/GABRG2/GABRA3/GAD2/GABRA5/GABRB3/SLC32A1/GABRQ/GAD1/GABBR1/GABRG3/GABRB1/ABAT
## WP3584 MAG/GRIA1/GRIA4/POU3F2/FOXG1/GRIA3/CAMK2A/MYT1/RBFOX1/GRID1/GAD1/GRIN1/MBP/FGF2/SST/GAMT/OPRK1/ARHGEF26
## WP706 AQP4/PLP1/ADCYAP1R1/ASCL1/SOX2/POU3F2/TF/CHRNA4/MAP2/SNAP25/NTRK2/SLC1A3/GABRA1/NKX2-2/SCN3B/ATP1A3/CHRNB2
gwp.lgg.up <- id.table(gwp.lgg.up)
#lgg gsea wikipathways down
gwp.lgg.dn <- gwp.lgg[which(gwp.lgg$NES < -1),]
head(gwp.lgg.dn)
## ID
## WP2877 WP2877
## WP2882 WP2882
## WP5039 WP5039
## WP453 WP453
## WP2446 WP2446
## WP2876 WP2876
## Description
## WP2877 Vitamin D Receptor Pathway
## WP2882 Nuclear Receptors Meta-Pathway
## WP5039 SARS-CoV-2 innate immunity evasion and cell-specific immune response
## WP453 Inflammatory Response Pathway
## WP2446 Retinoblastoma gene in cancer
## WP2876 Pregnane X receptor pathway
## setSize enrichmentScore NES pvalue p.adjust qvalues
## WP2877 67 -0.4112666 -2.434487 3.030956e-06 0.0001126505 7.710328e-05
## WP2882 90 -0.3594196 -2.294327 7.810567e-06 0.0002177195 1.490174e-04
## WP5039 20 -0.6126698 -2.493764 1.400247e-05 0.0002872222 1.965883e-04
## WP453 16 -0.6319288 -2.365198 5.386777e-05 0.0009240395 6.324556e-04
## WP2446 17 -0.6080131 -2.322748 1.870225e-04 0.0024348694 1.666538e-03
## WP2876 11 -0.6843407 -2.257597 1.965365e-04 0.0024348694 1.666538e-03
## rank leading_edge
## WP2877 1687 tags=70%, list=28%, signal=51%
## WP2882 1258 tags=41%, list=21%, signal=33%
## WP5039 2027 tags=90%, list=33%, signal=60%
## WP453 1644 tags=81%, list=27%, signal=60%
## WP2446 2415 tags=100%, list=39%, signal=61%
## WP2876 1041 tags=91%, list=17%, signal=76%
## core_enrichment
## WP2877 MYC/SOSTDC1/KRTAP5-1/TREM1/CYP27B1/CST6/TNFAIP3/SPRR1B/SALL4/S100A9/IRF4/KLF4/CTLA4/EPHB4/KRT16/KNG1/SULT2A1/S100A6/TNFRSF11B/ADGRE5/PTGER4/CRACR2A/SERPINB1/G0S2/S100A4/CRACR2B/SULT1C2/CYP2C9/CA9/CYP3A5/BDKRB1/CASP5/ATP2C2/ALPG/KRTAP4-1/NOX1/ALPI/TNFSF11/CYP2S1/CST1/VDR/HNF1A/CLDN2/HSD17B2/CEACAM1/CYP2B6/CDX2
## WP2882 BIRC3/SOD3/CES3/CES1/SERPINA1/EPHA2/UGT1A1/ALDH3A1/CYP4F12/GSTA1/SLC6A19/CYP2C9/SLC6A20/CYP3A5/FGF19/EDN2/SLC39A4/KLK15/UGT1A6/NR0B2/ABCC3/ADGRF4/UGT2B7/PCK1/SLC6A14/SLC39A5/NR1I2/VDR/CCL20/FGFBP1/S100P/SCNN1A/SLC5A1/CYP2B6/TNS4/FABP1/GPX2
## WP5039 PPBP/IL6/CASP8/TRAF5/PF4/CCL5/CXCL17/IFITM1/CXCL10/CXCL6/CXCL13/CXCL11/CSF2/CXCL9/CXCL3/CXCL8/CXCL1/ACE2
## WP453 LAMB1/CD28/CD80/CD40LG/IL2RB/LCK/IL2RA/COL1A2/THBS1/IL2RG/COL3A1/COL1A1/LAMC2
## WP2446 POLE2/MYC/HDAC1/CDT1/KIF4A/E2F2/TOP2A/CCNB1/CDC45/CDK1/ORC1/TTK/CCNA2/CCNB2/RRM2/MAPK13
## WP2876 SRPX2/SULT2A1/UGT1A1/CYP4F12/CYP2C9/CYP3A5/UGT1A6/ABCC3/NR1I2/CYP2B6
gwp.lgg.dn <- id.table(gwp.lgg.dn)
## to collect all functional analysis results
keep.colums.gsea <- c("ID","Description","pvalue","p.adjust","setSize","core_enrichment",
"table.id","tool","cancer","regulation_proccess")
fa.DEA1 <- rbind(fa.DEA1,
setNames(gwp.gbm.up[,keep.colums.gsea], names(fa.DEA1)),
setNames(gwp.gbm.dn[,keep.colums.gsea],names(fa.DEA1)),
setNames(gwp.lgg.up[,keep.colums.gsea],names(fa.DEA1)),
setNames(gwp.lgg.dn[,keep.colums.gsea],names(fa.DEA1)))
Gene ontology functional analysis with clusterProfiler functions enrichGo adn gseGO. Due to the parent-childhood annotation of GO terms, dropGO is applied to avoid general terms, eliminating higher levels of GO. Only biology proccess anotation is set for the analysis.
#level to drop
level.go <- 5
### GBM
## BIOLOGICAL PROCESS (BP)
# ORA GO up BP
ego.gbm.up <- enrichGO(gene = gbm.up.genelist$ENSEMBL,
OrgDb = org.Hs.eg.db,
keyType = 'ENSEMBL',
ont = "BP",
pAdjustMethod = "BH",
pvalueCutoff = 0.01,
qvalueCutoff = 0.05,
readable = TRUE)
ego.gbm.up <- setReadable(dropGO(ego.gbm.up,level = 1:level.go),
org.Hs.eg.db, keyType = "ENTREZID")
head(ego.gbm.up)
## ID
## GO:0050808 GO:0050808
## GO:0007416 GO:0007416
## GO:0007156 GO:0007156
## GO:1904062 GO:1904062
## GO:2001257 GO:2001257
## GO:0045666 GO:0045666
## Description
## GO:0050808 synapse organization
## GO:0007416 synapse assembly
## GO:0007156 homophilic cell adhesion via plasma membrane adhesion molecules
## GO:1904062 regulation of cation transmembrane transport
## GO:2001257 regulation of cation channel activity
## GO:0045666 positive regulation of neuron differentiation
## GeneRatio BgRatio pvalue p.adjust qvalue
## GO:0050808 161/1901 479/21081 2.515394e-52 1.395792e-48 1.170055e-48
## GO:0007416 78/1901 195/21081 1.157011e-31 2.140085e-28 1.793976e-28
## GO:0007156 64/1901 172/21081 3.795649e-24 1.914732e-21 1.605069e-21
## GO:1904062 95/1901 365/21081 7.279743e-22 2.376194e-19 1.991900e-19
## GO:2001257 65/1901 194/21081 1.276043e-21 3.933756e-19 3.297563e-19
## GO:0045666 100/1901 400/21081 1.489909e-21 4.351318e-19 3.647594e-19
## geneID
## GO:0050808 GPM6A/CTNND2/GAP43/DNER/TNR/KIF1A/SEZ6L/SLITRK2/LRRTM3/SEZ6/BCAN/NLGN1/PTN/DSCAM/CNTN2/SNCB/ERBB4/SLITRK3/NRXN1/LHFPL4/CTNNA2/GRID2/NRCAM/SLITRK1/CAMK2B/NTRK3/PCDHGC4/MAPT/C1QL1/ADGRB3/ARC/ADD2/NTRK2/SHISA7/LRRN3/CDH2/LRRC4B/PCDHGC5/NLGN3/GABRA1/SLIT1/PCDH8/SLC6A1/WNT7A/NTNG1/LRRC4C/ADGRB1/LRRN1/ZNF365/CNKSR2/CX3CR1/LRRTM2/TMEM108/NLGN4X/RAB39B/DGKB/ADGRB2/ZDHHC15/GABRG2/MAP1B/ADGRL3/NEFL/SLC8A3/TUBA1A/SLITRK5/CBLN4/PCDHGC3/NRXN2/CHRNB2/NLGN4Y/ERC2/NEUROD2/GLRB/CAMKV/IGSF21/CNTN5/INA/PAK3/SPARCL1/SEMA3E/WASF3/LRRC4/UNC13A/MAGI2/BSN/CACNB4/DLG2/GRM5/UNC13C/APOE/TREM2/KIRREL3/LRRTM1/SHANK1/NTN1/PTPRS/PCDHB6/FRMPD4/LRTM2/CDH8/GABRB3/PPFIA4/CUX2/CACNG2/SYN1/NFASC/PCDHB5/SNCA/SYNDIG1/ROBO2/ZNF804A/FYN/LRFN1/PPFIA2/PALM/SIX1/DLG4/SHISA6/NLGN2/PCDH17/SPOCK2/TIAM1/CLSTN2/OBSL1/IL1RAPL1/DLGAP3/NEFH/SLC8A2/PFN2/PCDHB16/MDGA1/LRRK2/MYOT/PCDHB3/COL4A5/DRP2/PCDHB9/PCDHB10/EPHB1/SLITRK4/OXTR/CDH9/CDK5R1/DNM3/WASF1/EPHA4/C3/NTNG2/ETV5/PCDHB2/IL1RAP/TNC/ARHGAP33/MYO5A/RAB3A/WNT7B/TANC2/MEF2C/DOCK10/GPRASP2/C1QB
## GO:0007416 GPM6A/GAP43/DNER/SLITRK2/LRRTM3/NLGN1/DSCAM/ERBB4/SLITRK3/NRXN1/LHFPL4/GRID2/NRCAM/SLITRK1/NTRK3/ADGRB3/ADD2/NTRK2/LRRN3/CDH2/LRRC4B/NLGN3/GABRA1/SLIT1/WNT7A/ADGRB1/LRRN1/LRRTM2/NLGN4X/ADGRB2/GABRG2/MAP1B/ADGRL3/SLITRK5/CBLN4/NRXN2/CHRNB2/NLGN4Y/CNTN5/LRRC4/MAGI2/BSN/KIRREL3/LRRTM1/SHANK1/NTN1/PTPRS/PCDHB6/LRTM2/GABRB3/CUX2/PCDHB5/SNCA/SYNDIG1/ROBO2/LRFN1/SIX1/NLGN2/PCDH17/SPOCK2/CLSTN2/OBSL1/IL1RAPL1/PCDHB16/MDGA1/PCDHB3/PCDHB9/PCDHB10/EPHB1/SLITRK4/OXTR/CDH9/DNM3/NTNG2/PCDHB2/IL1RAP/MEF2C/GPRASP2
## GO:0007156 PCDH10/CDH10/CDH20/IGSF11/DSCAM/CNTN2/PCDHGC4/PCDH9/CADM3/CDH2/PCDHGC5/PCDH15/PCDH8/CDH4/FAT3/CDH22/PCDHGC3/CDH18/IGSF21/PLXNB3/PTPRT/PCDHB1/PCDH11X/CADM1/TRO/DSCAML1/KIRREL3/CNTN6/PCDHB6/PCDHA1/CDH8/PCDHA11/PCDHGB2/PCDHB8/PCDHB7/PCDHGB1/PCDHB5/ROBO2/PCDHGA4/PCDH19/PCDH17/CDH19/ROBO3/CLSTN2/OBSL1/PCDHA2/CDH12/PCDHB16/DCHS2/PCDHA10/MYOT/PCDHB3/PCDHB9/PCDHGB7/PCDHB10/PCDHGA9/PCDHGA3/CDH9/PCDHAC2/CELSR2/PCDHB2/CDH6/PCDHA3/PCDHAC1
## GO:1904062 CACNG7/GRIA2/ATP1B2/DPP6/KCNIP1/GRIA1/ATP1A2/NLGN1/ACTN2/GSG1L/GRIA3/STAC2/GRIA4/ARC/SHISA7/NLGN3/KCNC1/LRRC55/CACNG4/JPH4/CNIH2/HAP1/PIRT/NETO1/CASQ1/SLN/WNK3/ANK2/FGF14/FXYD7/HAMP/CRHR1/NEFL/CACNG3/FGF12/FXYD6/GRIN2A/KCNE5/SCN2B/SCN3B/KCNA1/KCNC2/NPPA/RGN/SHISA9/AGT/CACNG6/CACNB4/DLG2/JPH3/S100A1/CACNG1/TREM2/SCN4B/CBARP/SHANK1/CACNG8/AKAP6/FHL1/MAPK8IP2/STAC/KCNS1/KCNN2/CACNG2/HPCA/SNCA/FYN/KCNIP3/OPRL1/GSTM2/DLG4/SHISA6/DPP10/PDE4B/FGF11/NLGN2/CRHBP/CNIH3/FXYD1/KCNAB3/TRDN/APLNR/SCN1B/TRPC1/RGS4/CRH/KCNIP2/SNTA1/MYO5A/GPER1/NOS1/LRRC7/KCNIP4/MEF2C/KCNE4
## GO:2001257 CACNG7/GRIA2/GRIA1/NLGN1/ACTN2/GSG1L/GRIA3/STAC2/GRIA4/ARC/SHISA7/NLGN3/KCNC1/LRRC55/CACNG4/JPH4/CNIH2/HAP1/PIRT/NETO1/CASQ1/ANK2/FGF14/CRHR1/NEFL/CACNG3/FGF12/GRIN2A/KCNE5/KCNA1/KCNC2/NPPA/SHISA9/CACNB4/DLG2/JPH3/S100A1/TREM2/CBARP/SHANK1/CACNG8/AKAP6/MAPK8IP2/STAC/KCNS1/CACNG2/HPCA/OPRL1/GSTM2/DLG4/SHISA6/PDE4B/FGF11/NLGN2/CRHBP/CNIH3/TRDN/SCN1B/CRH/KCNIP2/MYO5A/NOS1/LRRC7/MEF2C/KCNE4
## GO:0045666 CACNG7/FOXG1/ATP1B2/ASCL1/BRINP2/FUT9/RND2/NLGN1/PTN/DSCAM/TUBB2B/MMD2/NKX2-2/CNR1/NRCAM/SLITRK1/CAMK2B/NTRK3/MAPT/CNTN1/NTRK2/RIT2/PLPPR5/SH3GL3/BRINP3/FEZ1/NKX2-5/CDH4/SOX11/ALK/ZDHHC15/BEND6/MAP6/NDRG4/MAP1B/VWC2L/SYT4/DLX1/RNF112/NEFL/GPRC5B/SYT3/NKX6-1/SHOX2/NEUROD2/RIMS2/NEUROD1/NAP1L2/PLXNB3/PAK3/RIMS1/AGT/BRINP1/UNC13A/MAGI2/FEZF2/APOE/PLXNA4/SHANK1/NTN1/NGFR/APBB1/VWC2/STMN2/PACSIN1/CUX2/METRN/ROBO2/ZNF804A/FYN/DLG4/DLX2/CPNE6/TIAM1/CHODL/DPYSL3/OBSL1/IL1RAPL1/PRKD1/SYT17/GPC2/ZEB1/TCF4/SCN1B/GDF5/LPAR1/TRIM67/EPHA4/ZEB2/SYT1/ETV5/DAB1/LRRC7/CPNE5/RUFY3/BMP7/MEF2C/BCL6/GPRASP2/CDKL3
## Count
## GO:0050808 161
## GO:0007416 78
## GO:0007156 64
## GO:1904062 95
## GO:2001257 65
## GO:0045666 100
ego.gbm.up <- id.table(ego.gbm.up)
# ORA GO down BP
ego.gbm.dn <- enrichGO(gene = gbm.dn.genelist$ENSEMBL,
OrgDb = org.Hs.eg.db,
keyType = 'ENSEMBL',
ont = "BP",
pAdjustMethod = "BH",
pvalueCutoff = 0.01,
qvalueCutoff = 0.05,
readable = TRUE)
ego.gbm.dn <- setReadable(dropGO(ego.gbm.dn,level = 1:level.go),
org.Hs.eg.db, keyType = "ENTREZID")
head(ego.gbm.dn)
## ID Description GeneRatio
## GO:0016064 GO:0016064 immunoglobulin mediated immune response 87/1319
## GO:0019724 GO:0019724 B cell mediated immunity 88/1319
## GO:0050853 GO:0050853 B cell receptor signaling pathway 60/1319
## GO:0099024 GO:0099024 plasma membrane invagination 60/1319
## GO:0010324 GO:0010324 membrane invagination 60/1319
## GO:0050871 GO:0050871 positive regulation of B cell activation 54/1319
## BgRatio pvalue p.adjust qvalue
## GO:0016064 264/21081 7.610375e-40 6.561412e-37 5.747836e-37
## GO:0019724 274/21081 2.743635e-39 2.027546e-36 1.776143e-36
## GO:0050853 130/21081 1.549949e-37 8.017887e-35 7.023717e-35
## GO:0099024 130/21081 1.549949e-37 8.017887e-35 7.023717e-35
## GO:0010324 140/21081 2.938603e-35 1.266783e-32 1.109709e-32
## GO:0050871 143/21081 1.599504e-28 5.171396e-26 4.530174e-26
## geneID
## GO:0016064 GCNT3/IGHA2/IGHA1/IGHV5-51/IGKC/IGHV1-18/IGHV4-39/IGHV4-59/IGHG4/IGHV3-23/IGHV3-11/IGKV4-1/IGLV3-25/IGLV2-23/C4BPB/IGKV1-5/IGKV3-15/IGLC2/IGLV3-21/IGHG1/IGHV3-49/IGHV3-15/IGKV3-20/IGLL5/IGHV3-74/IGHG2/IGHV3-21/IGHV1-69D/IGHV3-30/IGLV3-19/IGKV1-16/IGLV6-57/IGLV2-8/IGHV1-24/IGHV3-72/IGKV1-17/IGLV2-14/IGLV2-11/IGHG3/IGHV3-73/IGLC3/IGLV1-40/IGHV3-48/IGHV4-34/IGLV1-44/IGHV3-33/IGHV4-28/IGHV3-53/IGHV7-81/IGHV1-69/IGHM/IGHV2-26/CR2/IGKV3D-20/IGHV3-43/C4BPA/IGHV3-66/IGHV4-61/IGHV1-58/IGHV3-13/IGLV1-51/IGHV2-5/IGLV7-43/IGLV1-47/IGLV3-27/IGLC7/IGHV3-64/IGKV3D-11/IGHV2-70/IGHV3-20/IGHV6-1/IGKV1-12/IGHV2-70D/IGHV3-35/IGHV1-3/IGKV5-2/IGHV1-45/IGHV3-7/CD55/IGKV2-30/IGKV2-29/IGHV4-4/CD46/IGKV1-39/STAT6/IGHD/CD40LG
## GO:0019724 GCNT3/IGHA2/IGHA1/IGHV5-51/IGKC/IGHV1-18/IGHV4-39/IGHV4-59/IGHG4/IGHV3-23/IGHV3-11/IGKV4-1/IGLV3-25/IGLV2-23/C4BPB/IGKV1-5/IGKV3-15/IGLC2/IGLV3-21/IGHG1/IGHV3-49/IGHV3-15/IGKV3-20/IGLL5/IGHV3-74/IGHG2/IGHV3-21/IGHV1-69D/IGHV3-30/IGLV3-19/IGKV1-16/IGLV6-57/IGLV2-8/IGHV1-24/IGHV3-72/IGKV1-17/IGLV2-14/IGLV2-11/IGHG3/IGHV3-73/IGLC3/IGLV1-40/IGHV3-48/IGHV4-34/IGLV1-44/IGHV3-33/IGHV4-28/IGHV3-53/IGHV7-81/IGHV1-69/IGHM/IGHV2-26/CR2/IGKV3D-20/IGHV3-43/C4BPA/IGHV3-66/IGHV4-61/IGHV1-58/IGHV3-13/IGLV1-51/IGHV2-5/IGLV7-43/IGLV1-47/IGLV3-27/IGLC7/IGHV3-64/IGKV3D-11/IGHV2-70/IGHV3-20/IGHV6-1/IGKV1-12/IGHV2-70D/IGHV3-35/IGHV1-3/IGKV5-2/IGHV1-45/IGHV3-7/CD55/IGKV2-30/IGKV2-29/IGHV4-4/CD46/IGKV1-39/STAT6/IGHD/CD40LG/HLA-G
## GO:0050853 IGHA2/IGHA1/IGHV5-51/IGKC/IGHV1-18/IGHV4-39/IGHV4-59/IGHG4/IGHV3-23/IGHV3-11/IGLC2/IGHG1/IGHV3-49/IGHV3-15/IGLL5/IGHV3-74/IGHG2/IGHV3-21/IGHV1-69D/IGHV3-30/IGHV1-24/IGHV3-72/IGHG3/IGHV3-73/IGLC3/IGHV3-48/IGHV4-34/IGHV3-33/IGHV4-28/IGHV3-53/IGHV7-81/IGHV1-69/IGHM/IGHV2-26/IGHV3-43/IGHV3-66/IGHV4-61/IGHV1-58/IGHV3-13/IGHV2-5/IGLC7/IGHV3-64/IGHV2-70/IGHV3-20/IGHV6-1/IGHV2-70D/IGHV3-35/IGHV1-3/CD79A/IGHV1-45/IGHV3-7/MS4A1/GCSAM/LCK/FCRL3/TEC/IGHV4-4/BMX/IGHD/CTLA4
## GO:0099024 IGHA2/IGHA1/IGHV5-51/IGKC/IGHV1-18/IGHV4-39/IGHV4-59/IGHG4/IGHV3-23/IGHV3-11/IGLC2/IGHG1/IGHV3-49/IGHV3-15/IGLL5/IGHV3-74/IGHG2/IGHV3-21/IGHV1-69D/IGHV3-30/IGHV1-24/IGHV3-72/IGHG3/IGHV3-73/IGLC3/IGHV3-48/IGHV4-34/IGHV3-33/IGHV4-28/IGHV3-53/IGHV7-81/IGHV1-69/IGHM/IGHV2-26/IGHV3-43/IGHV3-66/IGHV4-61/IGHV1-58/IGHV3-13/IGHV2-5/IGLC7/IGHV3-64/IGHV2-70/IGHV3-20/PPARG/IGHV6-1/IGHV2-70D/IGHV3-35/IGHV1-3/F2RL1/HAVCR1/IGHV1-45/IGHV3-7/ALOX15/IGHV4-4/IGHD/SPIRE2/THBS1/ITGA2/MYH9
## GO:0010324 IGHA2/IGHA1/IGHV5-51/IGKC/IGHV1-18/IGHV4-39/IGHV4-59/IGHG4/IGHV3-23/IGHV3-11/IGLC2/IGHG1/IGHV3-49/IGHV3-15/IGLL5/IGHV3-74/IGHG2/IGHV3-21/IGHV1-69D/IGHV3-30/IGHV1-24/IGHV3-72/IGHG3/IGHV3-73/IGLC3/IGHV3-48/IGHV4-34/IGHV3-33/IGHV4-28/IGHV3-53/IGHV7-81/IGHV1-69/IGHM/IGHV2-26/IGHV3-43/IGHV3-66/IGHV4-61/IGHV1-58/IGHV3-13/IGHV2-5/IGLC7/IGHV3-64/IGHV2-70/IGHV3-20/PPARG/IGHV6-1/IGHV2-70D/IGHV3-35/IGHV1-3/F2RL1/HAVCR1/IGHV1-45/IGHV3-7/ALOX15/IGHV4-4/IGHD/SPIRE2/THBS1/ITGA2/MYH9
## GO:0050871 IGHA2/IGHA1/IGHV5-51/IGKC/IGHV1-18/IGHV4-39/IGHV4-59/IGHG4/IGHV3-23/IGHV3-11/IGLC2/IGHG1/IGHV3-49/IGHV3-15/IGLL5/IGHV3-74/IGHG2/IGHV3-21/IGHV1-69D/IGHV3-30/IGHV1-24/IGHV3-72/IGHG3/IGHV3-73/IGLC3/IGHV3-48/IGHV4-34/IGHV3-33/IGHV4-28/IGHV3-53/IGHV7-81/IGHV1-69/IGHM/IGHV2-26/IGHV3-43/IGHV3-66/IGHV4-61/IGHV1-58/IGHV3-13/IGHV2-5/IGLC7/IGHV3-64/IGHV2-70/IGHV3-20/IGHV6-1/IGHV2-70D/IGHV3-35/IGHV1-3/IGHV1-45/IGHV3-7/FCRL3/IGHV4-4/STAT6/IGHD
## Count
## GO:0016064 87
## GO:0019724 88
## GO:0050853 60
## GO:0099024 60
## GO:0010324 60
## GO:0050871 54
ego.gbm.dn <- id.table(ego.gbm.dn)
### LGG
## BIOLOGICAL PROCESS (BP)
# ORA GO up BP
ego.lgg.up <- enrichGO(gene = lgg.up.genelist$ENSEMBL,
OrgDb = org.Hs.eg.db,
keyType = 'ENSEMBL',
ont = "BP",
pAdjustMethod = "BH",
pvalueCutoff = 0.01,
qvalueCutoff = 0.05,
readable = TRUE)
ego.lgg.up <- setReadable(dropGO(ego.lgg.up,level = 1:level.go),
org.Hs.eg.db, keyType = "ENTREZID")
head(ego.lgg.up)
## ID
## GO:0050808 GO:0050808
## GO:0007416 GO:0007416
## GO:0007156 GO:0007156
## GO:0035249 GO:0035249
## GO:1904062 GO:1904062
## GO:2001257 GO:2001257
## Description
## GO:0050808 synapse organization
## GO:0007416 synapse assembly
## GO:0007156 homophilic cell adhesion via plasma membrane adhesion molecules
## GO:0035249 synaptic transmission, glutamatergic
## GO:1904062 regulation of cation transmembrane transport
## GO:2001257 regulation of cation channel activity
## GeneRatio BgRatio pvalue p.adjust qvalue
## GO:0050808 185/2248 479/21081 1.505233e-59 8.664118e-56 7.290079e-56
## GO:0007416 90/2248 195/21081 1.316426e-36 1.296157e-33 1.090600e-33
## GO:0007156 84/2248 172/21081 1.457612e-36 1.296157e-33 1.090600e-33
## GO:0035249 56/2248 107/21081 8.842456e-27 2.793131e-24 2.350170e-24
## GO:1904062 113/2248 365/21081 1.202383e-26 3.411778e-24 2.870705e-24
## GO:2001257 76/2248 194/21081 1.882391e-25 3.869657e-23 3.255970e-23
## geneID
## GO:0050808 TNR/GPM6A/CTNND2/SEZ6L/KIF1A/DNER/BCAN/LRRTM3/DSCAM/ERBB4/NRXN1/SLITRK2/SLITRK1/LHFPL4/SEZ6/SHISA7/GRID2/SNCB/NLGN1/CNTN2/MAPT/NTRK2/GAP43/ADGRB3/SLIT1/CTNNA2/SLITRK3/GABRA1/NTRK3/C1QL1/SLC6A1/GABRG2/ADD2/ADGRB1/CAMK2B/PCDHGC4/INA/CACNG2/SLITRK5/LRRC4C/NRCAM/SLC8A3/PTN/NLGN3/DGKB/CUX2/LRRTM2/LRRN1/LRRC4B/GABRB3/ZNF365/GRM5/PCDHGC5/WNT7A/LRRN3/CNKSR2/UNC13A/LRTM2/PAK3/ADGRL3/CDH2/PCDH8/CHRNB2/UNC13C/NRXN2/TMEM108/NEFL/BSN/DLG2/IGSF21/RAB39B/CAMKV/ARC/LRRC4/ERC2/ADGRB2/WASF3/FRMPD4/SHANK1/MAP1B/NEUROD2/CX3CR1/NLGN4X/IL1RAPL1/LRRTM1/SPARCL1/PCDHGC3/SLC8A2/CACNB4/ZDHHC15/GLRB/PPFIA2/NTNG1/ZNF804A/CDH8/SYN1/CLSTN2/APOE/WNT7B/DNM3/CDH9/DLGAP3/MAGI2/EPHB1/KIRREL3/PTPRS/CNTN5/NTNG2/SPOCK2/SHISA6/SLITRK4/PCDHB5/NLGN2/GRIN1/LRFN5/PALM/DRP2/NTN1/SNCA/CDK5R1/MYOT/NEFH/PCDHB6/DLG4/TIAM1/TUBA1A/NFASC/PPFIA4/FYN/CBLN4/SYNDIG1/PCDH17/IGFN1/LRFN2/GABRB2/CBLN2/LRFN1/WASF1/MYO5A/RAB3A/MDGA1/SIX1/OBSL1/PCDHB9/DOCK10/COL4A5/RELN/PFN2/OPHN1/TANC2/SEMA3E/IGSF9B/PCDHB10/FGF13/TREM2/ARHGAP33/CTTNBP2/SNCG/PCDHB2/CBLN1/LRRK2/LINGO2/ARHGAP22/MYH10/L1CAM/ASIC2/ROBO2/NLGN4Y/PCDHB4/PCDHB16/GPRASP2/ABI2/MEF2C/SDK2/EPHA4/DISC1/PCDHB3/CX3CL1/SRCIN1/PPP1R9A/SYNGAP1/SPARC/PRNP/COLQ/FLRT2
## GO:0007416 GPM6A/DNER/LRRTM3/DSCAM/ERBB4/NRXN1/SLITRK2/SLITRK1/LHFPL4/GRID2/NLGN1/NTRK2/GAP43/ADGRB3/SLIT1/SLITRK3/GABRA1/NTRK3/GABRG2/ADD2/ADGRB1/SLITRK5/NRCAM/NLGN3/CUX2/LRRTM2/LRRN1/LRRC4B/GABRB3/WNT7A/LRRN3/LRTM2/ADGRL3/CDH2/CHRNB2/NRXN2/BSN/LRRC4/ADGRB2/SHANK1/MAP1B/NLGN4X/IL1RAPL1/LRRTM1/CLSTN2/DNM3/CDH9/MAGI2/EPHB1/KIRREL3/PTPRS/CNTN5/NTNG2/SPOCK2/SLITRK4/PCDHB5/NLGN2/GRIN1/LRFN5/NTN1/SNCA/PCDHB6/CBLN4/SYNDIG1/PCDH17/IGFN1/GABRB2/CBLN2/LRFN1/MDGA1/SIX1/OBSL1/PCDHB9/PCDHB10/FGF13/PCDHB2/CBLN1/LINGO2/ASIC2/ROBO2/NLGN4Y/PCDHB4/PCDHB16/GPRASP2/MEF2C/SDK2/PCDHB3/PPP1R9A/COLQ/FLRT2
## GO:0007156 CDH20/PCDH15/CDH10/PCDH10/DSCAM/CNTN2/IGSF11/CADM3/PTPRT/CDH18/PCDHGC4/PCDH9/FAT3/PCDH11X/CDH22/DSCAML1/PCDHGC5/CDH2/PCDH8/IGSF21/PLXNB3/CDH4/PCDHA1/PCDHGC3/CNTN6/CDH8/CLSTN2/TRO/CDH9/PCDHA2/KIRREL3/PCDHB5/MYOT/CDH12/PCDHGB1/PCDHB6/CADM1/PCDHGA3/DCHS2/PCDH17/IGFN1/PCDHA3/CDH7/PCDH19/PCDH11Y/PCDHGA4/PCDHA11/PCDHA10/PCDHA9/PCDHB1/OBSL1/PCDHB9/CELSR2/PCDHAC2/PCDHGB2/PCDHGB7/PCDHA6/IGSF9B/ROBO3/PCDHAC1/PCDHB10/PCDHA5/VSTM2L/PCDHB8/PCDHB2/L1CAM/ROBO2/PCDHGA2/PCDHA12/PCDHB4/PCDHA13/CDH19/PCDHB16/PCDHA7/PCDHGA9/PCDH7/SDK2/RET/PCDHA4/PCDHB3/PCDHB7/ROBO1/PCDHGB3/PCDHGA1
## GO:0035249 TNR/GRIA2/CACNG7/ATP1A2/NRXN1/GRID2/NLGN1/GRM3/GRIK4/GRIK3/CACNG2/GRIK2/CACNG4/NLGN3/CACNG3/SLC17A7/GRM5/GRIK5/UNC13A/CDH2/UNC13C/CNR1/CNIH2/SHANK1/GRM1/GRID1/SLC17A6/DGKI/CACNG8/MAPK8IP2/CDH8/ADORA1/SLC17A8/SHC3/GRIK1/NLGN2/GRIN1/HTR2A/SYT1/GRM6/RELN/GRM7/OPHN1/GRM2/LRRK2/PRKN/NPY2R/MEF2C/GRM4/DISC1/UCN/CNIH3/EGFR/GLUL/STXBP1/NAPB
## GO:1904062 GRIA2/CACNG7/GRIA1/ATP1A2/DPP6/ATP1B2/GRIA4/SHISA7/GRIA3/KCNIP1/NLGN1/ACTN2/JPH4/GSG1L/NETO1/KCNC1/JPH3/CACNG2/CACNG4/NLGN3/CACNG3/FGF12/SCN3B/CRHR1/GRIN2A/SCN2B/KCNC2/CASQ1/FXYD7/ANK2/WNK3/FGF14/NEFL/DPP10/FXYD6/KCNA1/CNIH2/KCNIP3/LRRC55/NPPA/DLG2/ARC/STAC2/HAP1/SHANK1/AKAP6/SHISA9/CACNG8/CACNB4/MAPK8IP2/KCNN2/CACNG6/S100A1/KCNIP2/CACNG1/AGT/TRDN/SHISA6/SCN4B/RASGRF1/CRHBP/PIRT/NLGN2/NOS1/GRIN1/SNCA/FHL1/DLG4/FYN/CBARP/RGS9/LRRC7/FGF11/HPCA/GSTM2/CRH/OPRL1/KCNE5/HECW1/MYO5A/RGN/RELN/KCNAB1/TRPC1/PDE4B/EHD3/KCNS2/SCN1B/CACNA2D1/KCNS1/FGF13/KCNAB3/TREM2/FXYD1/RGS4/TMC1/HAMP/VAMP2/SLN/SHISA8/FXYD2/SNTA1/CAPN3/KCNIP4/MEF2C/ADRB2/GPER1/CX3CL1/KCNE2/CNIH3/PRNP/SLC8A1/APLNR
## GO:2001257 GRIA2/CACNG7/GRIA1/GRIA4/SHISA7/GRIA3/NLGN1/ACTN2/JPH4/GSG1L/NETO1/KCNC1/JPH3/CACNG2/CACNG4/NLGN3/CACNG3/FGF12/CRHR1/GRIN2A/KCNC2/CASQ1/ANK2/FGF14/NEFL/KCNA1/CNIH2/LRRC55/NPPA/DLG2/ARC/STAC2/HAP1/SHANK1/AKAP6/SHISA9/CACNG8/CACNB4/MAPK8IP2/S100A1/KCNIP2/TRDN/SHISA6/RASGRF1/CRHBP/PIRT/NLGN2/NOS1/GRIN1/DLG4/CBARP/RGS9/LRRC7/FGF11/HPCA/GSTM2/CRH/OPRL1/KCNE5/MYO5A/RELN/KCNAB1/PDE4B/EHD3/KCNS2/SCN1B/CACNA2D1/KCNS1/FGF13/TREM2/VAMP2/SHISA8/MEF2C/ADRB2/KCNE2/CNIH3
## Count
## GO:0050808 185
## GO:0007416 90
## GO:0007156 84
## GO:0035249 56
## GO:1904062 113
## GO:2001257 76
ego.lgg.up <- id.table(ego.lgg.up)
# ORA GO down BP
ego.lgg.dn <- enrichGO(gene = lgg.dn.genelist$ENSEMBL,
OrgDb = org.Hs.eg.db,
keyType = 'ENSEMBL',
ont = "BP",
pAdjustMethod = "BH",
pvalueCutoff = 0.01,
qvalueCutoff = 0.05,
readable = TRUE)
ego.lgg.dn <- setReadable(dropGO(ego.lgg.dn,level = 1:level.go),
org.Hs.eg.db, keyType = "ENTREZID")
head(ego.lgg.dn)
## ID Description GeneRatio
## GO:0019724 GO:0019724 B cell mediated immunity 105/1956
## GO:0016064 GO:0016064 immunoglobulin mediated immune response 102/1956
## GO:0050853 GO:0050853 B cell receptor signaling pathway 69/1956
## GO:0099024 GO:0099024 plasma membrane invagination 63/1956
## GO:0050864 GO:0050864 regulation of B cell activation 76/1956
## GO:0050871 GO:0050871 positive regulation of B cell activation 65/1956
## BgRatio pvalue p.adjust qvalue
## GO:0019724 274/21081 4.248654e-39 4.151643e-36 3.327367e-36
## GO:0016064 264/21081 2.229833e-38 1.867645e-35 1.496839e-35
## GO:0050853 130/21081 4.916299e-37 3.202696e-34 2.566825e-34
## GO:0099024 130/21081 6.326986e-31 2.473008e-28 1.982012e-28
## GO:0050864 189/21081 3.037881e-30 1.113194e-27 8.921777e-28
## GO:0050871 143/21081 8.539020e-30 2.944957e-27 2.360259e-27
## geneID
## GO:0019724 IGHA2/GCNT3/IGHA1/IGKV4-1/IGKV1-5/IGKV3-20/IGLC2/IGHV3-23/IGHG2/IGKC/IGLV3-21/IGHV5-51/IGLV2-14/IGHG1/IGLC3/IGHV4-39/IGLV2-23/IGHV1-18/IGLL5/IGKV3-15/IGLV3-19/IGLV3-25/IGLV2-11/IGHV4-59/IGHG4/IGLV1-40/IGHG3/IGHV3-30/IGHV3-21/IGHV3-11/IGHV3-74/IGLV6-57/IGHV3-49/IGKV1-16/IGHV4-34/IGHV3-15/IGLV2-8/IGKV1-17/IGHV3-33/IGHV1-69D/IGHM/IGLV1-44/IGHV3-48/IGHV3-72/IGHV3-73/IGHV1-24/C4BPB/IGHV3-53/IGHV1-69/IGKV3D-20/IGHV4-28/IGLV1-47/IGLV7-43/IGHV2-26/IGHV4-61/IGHV3-13/IGHV3-66/IGHV3-43/IGHV7-81/IGLC7/IGLV3-27/IGHV2-70/IGHV1-58/IGHV2-5/IGKV3D-11/IGLV1-51/IGHV3-64/C4BPA/IGHV3-20/CR2/IGHV6-1/IGHV1-3/IGKV2-30/IGHV2-70D/IGKV5-2/IGKV1-12/IGHV3-7/IGHV3-35/IGHV1-45/IGKV1-39/CD70/CD55/IGKV2-29/IGHV4-4/IGHD/CD40LG/BCL3/STAT6/TRBC2/BATF/CD28/EXO1/C2/CD46/TFRC/ZP3/TCIRG1/IL4R/CLCF1/HLA-G/CD27/SLA2/CD19/BCL10/PRKCD
## GO:0016064 IGHA2/GCNT3/IGHA1/IGKV4-1/IGKV1-5/IGKV3-20/IGLC2/IGHV3-23/IGHG2/IGKC/IGLV3-21/IGHV5-51/IGLV2-14/IGHG1/IGLC3/IGHV4-39/IGLV2-23/IGHV1-18/IGLL5/IGKV3-15/IGLV3-19/IGLV3-25/IGLV2-11/IGHV4-59/IGHG4/IGLV1-40/IGHG3/IGHV3-30/IGHV3-21/IGHV3-11/IGHV3-74/IGLV6-57/IGHV3-49/IGKV1-16/IGHV4-34/IGHV3-15/IGLV2-8/IGKV1-17/IGHV3-33/IGHV1-69D/IGHM/IGLV1-44/IGHV3-48/IGHV3-72/IGHV3-73/IGHV1-24/C4BPB/IGHV3-53/IGHV1-69/IGKV3D-20/IGHV4-28/IGLV1-47/IGLV7-43/IGHV2-26/IGHV4-61/IGHV3-13/IGHV3-66/IGHV3-43/IGHV7-81/IGLC7/IGLV3-27/IGHV2-70/IGHV1-58/IGHV2-5/IGKV3D-11/IGLV1-51/IGHV3-64/C4BPA/IGHV3-20/CR2/IGHV6-1/IGHV1-3/IGKV2-30/IGHV2-70D/IGKV5-2/IGKV1-12/IGHV3-7/IGHV3-35/IGHV1-45/IGKV1-39/CD55/IGKV2-29/IGHV4-4/IGHD/CD40LG/BCL3/STAT6/TRBC2/BATF/CD28/EXO1/C2/CD46/TFRC/ZP3/TCIRG1/IL4R/CLCF1/CD27/CD19/BCL10/PRKCD
## GO:0050853 IGHA2/IGHA1/IGLC2/IGHV3-23/IGHG2/IGKC/IGHV5-51/IGHG1/IGLC3/IGHV4-39/IGHV1-18/IGLL5/IGHV4-59/IGHG4/IGHG3/IGHV3-30/IGHV3-21/IGHV3-11/IGHV3-74/IGHV3-49/IGHV4-34/IGHV3-15/IGHV3-33/IGHV1-69D/IGHM/IGHV3-48/IGHV3-72/IGHV3-73/IGHV1-24/IGHV3-53/IGHV1-69/IGHV4-28/IGHV2-26/IGHV4-61/IGHV3-13/IGHV3-66/IGHV3-43/IGHV7-81/IGLC7/IGHV2-70/IGHV1-58/IGHV2-5/IGHV3-64/IGHV3-20/IGHV6-1/VAV3/IGHV1-3/IGHV2-70D/LCK/IGHV3-7/IGHV3-35/GCSAM/IGHV1-45/CD79A/MS4A1/IGHV4-4/IGHD/TEC/PTPN22/FCRL3/TRBC2/CTLA4/ITK/CD79B/RUNX1/BMX/STAP1/SYK/CD19
## GO:0099024 IGHA2/IGHA1/IGLC2/IGHV3-23/IGHG2/IGKC/IGHV5-51/IGHG1/IGLC3/IGHV4-39/IGHV1-18/IGLL5/IGHV4-59/IGHG4/IGHG3/IGHV3-30/IGHV3-21/IGHV3-11/IGHV3-74/IGHV3-49/IGHV4-34/IGHV3-15/IGHV3-33/IGHV1-69D/IGHM/IGHV3-48/IGHV3-72/IGHV3-73/IGHV1-24/IGHV3-53/IGHV1-69/IGHV4-28/IGHV2-26/IGHV4-61/IGHV3-13/IGHV3-66/IGHV3-43/IGHV7-81/IGLC7/IGHV2-70/IGHV1-58/IGHV2-5/IGHV3-64/IGHV3-20/PPARG/F2RL1/THBS1/IGHV6-1/IGHV1-3/IGHV2-70D/IGHV3-7/IGHV3-35/IGHV1-45/IGHV4-4/AURKB/HAVCR1/IGHD/ITGA2/TRBC2/ALOX15/RAC2/STAP1/MYH9
## GO:0050864 IGHA2/IGHA1/IGLC2/IGHV3-23/IGHG2/IGKC/IGHV5-51/IGHG1/IGLC3/IGHV4-39/IGHV1-18/IGLL5/IGHV4-59/IGHG4/IGHG3/IGHV3-30/IGHV3-21/IGHV3-11/IGHV3-74/IGHV3-49/IGHV4-34/IGHV3-15/IGHV3-33/IGHV1-69D/IGHM/IGHV3-48/IGHV3-72/IGHV3-73/IGHV1-24/IGHV3-53/IGHV1-69/IGHV4-28/IGHV2-26/IGHV4-61/IGHV3-13/IGHV3-66/IGHV3-43/IGHV7-81/IGLC7/IGHV2-70/IGHV1-58/IGHV2-5/IGHV3-64/MZB1/IGHV3-20/IGHV6-1/VAV3/IGHV1-3/IGHV2-70D/IGHV3-7/IGHV3-35/IGHV1-45/IKZF3/IGHV4-4/IGHD/PAWR/FCRL3/IL7/TNFRSF13B/STAT6/TRBC2/CD28/CTLA4/INHBA/TFRC/IL6/AHR/TNFAIP3/SYK/CLCF1/BANK1/MMP14/TNFRSF4/CD27/CD19/MIR17HG
## GO:0050871 IGHA2/IGHA1/IGLC2/IGHV3-23/IGHG2/IGKC/IGHV5-51/IGHG1/IGLC3/IGHV4-39/IGHV1-18/IGLL5/IGHV4-59/IGHG4/IGHG3/IGHV3-30/IGHV3-21/IGHV3-11/IGHV3-74/IGHV3-49/IGHV4-34/IGHV3-15/IGHV3-33/IGHV1-69D/IGHM/IGHV3-48/IGHV3-72/IGHV3-73/IGHV1-24/IGHV3-53/IGHV1-69/IGHV4-28/IGHV2-26/IGHV4-61/IGHV3-13/IGHV3-66/IGHV3-43/IGHV7-81/IGLC7/IGHV2-70/IGHV1-58/IGHV2-5/IGHV3-64/IGHV3-20/IGHV6-1/VAV3/IGHV1-3/IGHV2-70D/IGHV3-7/IGHV3-35/IGHV1-45/IGHV4-4/IGHD/FCRL3/IL7/STAT6/TRBC2/CD28/TFRC/IL6/SYK/CLCF1/MMP14/TNFRSF4/CD27
## Count
## GO:0019724 105
## GO:0016064 102
## GO:0050853 69
## GO:0099024 63
## GO:0050864 76
## GO:0050871 65
ego.lgg.dn <- id.table(ego.lgg.dn)
## to collect all functional analysis results
fa.DEA1 <- rbind(fa.DEA1,
ego.gbm.up[,keep.colums.enricher],
ego.gbm.dn[,keep.colums.enricher],
ego.lgg.up[,keep.colums.enricher],
ego.lgg.dn[,keep.colums.enricher])
set.seed(1234567)
### GBM
## BIOLOGICAL PROCESS (BP)
# GSEA GO BP
ggo.gbm.BP <- gseGO(geneList = c(gbm.up.gene,
gbm.dn.gene),
OrgDb = org.Hs.eg.db,
ont = "BP",
pvalueCutoff = 0.05,
eps = 0,
verbose = FALSE)
## Warning in preparePathwaysAndStats(pathways, stats, minSize, maxSize,
## gseaParam, : There are duplicate gene names, fgsea may produce unexpected
## results.
ggo.gbm.BP <- setReadable(ggo.gbm.BP,'org.Hs.eg.db', 'ENTREZID')
#gbm gsea GO up
ggo.gbm.up <- ggo.gbm.BP[which(ggo.gbm.BP$NES > 1),]
head(ggo.gbm.up)
## ID Description setSize
## GO:0099537 GO:0099537 trans-synaptic signaling 279
## GO:0099536 GO:0099536 synaptic signaling 284
## GO:0007268 GO:0007268 chemical synaptic transmission 276
## GO:0098916 GO:0098916 anterograde trans-synaptic signaling 276
## GO:0022008 GO:0022008 neurogenesis 500
## GO:0048699 GO:0048699 generation of neurons 477
## enrichmentScore NES pvalue p.adjust qvalues rank
## GO:0099537 0.4869365 4.007866 1.466799e-37 1.372923e-34 9.433831e-35 1321
## GO:0099536 0.4834176 3.977261 9.582432e-37 6.726867e-34 4.622262e-34 1321
## GO:0007268 0.4917486 4.037896 2.352824e-36 9.438185e-34 6.485303e-34 1321
## GO:0098916 0.4917486 4.037896 2.352824e-36 9.438185e-34 6.485303e-34 1321
## GO:0022008 0.3935911 3.510836 4.508413e-36 1.406625e-33 9.665405e-34 956
## GO:0048699 0.3924340 3.470503 4.787652e-35 1.034133e-32 7.105884e-33 956
## leading_edge
## GO:0099537 tags=61%, list=27%, signal=47%
## GO:0099536 tags=61%, list=27%, signal=47%
## GO:0007268 tags=62%, list=27%, signal=47%
## GO:0098916 tags=62%, list=27%, signal=47%
## GO:0022008 tags=42%, list=20%, signal=37%
## GO:0048699 tags=42%, list=20%, signal=37%
## core_enrichment
## GO:0099537 PLP1/CACNG7/SLC1A2/GRIA2/ADCY8/NR2E1/GRIA1/ATP1A2/KCNQ2/TNR/IGSF11/SEZ6/NLGN1/SLC1A3/PTN/TRIM9/CNTN2/SNCB/TUBB2B/NOVA1/RPH3A/GABBR2/NRXN1/S100B/RIMS4/SNAP25/LGI1/FAM107A/CSPG5/GRID2/CNTNAP4/SORCS3/GRIK3/CNR1/KCNJ10/GRM3/CAMK2B/MAPT/ARC/NTRK2/CHRNA9/PDYN/SHISA7/BCHE/RIT2/SYT6/CDH2/DTNA/LYPD1/NLGN3/GABRA1/KIF5A/GRIK4/GAD2/GRIK5/CACNG4/PCDH8/CYP46A1/SLC6A1/JPH4/CNIH2/WNT7A/NTNG1/RIC3/LRRC4C/ADGRB1/CHRNA4/HAP1/CAMK2A/GRIK2/GRIK1/KCND2/GABRG1/DLGAP1/CX3CR1/LRRTM2/TMEM108/CACNA1G/NETO1/NLGN4X/SYT11/GABRA5/DGKB/NRG3/SLC17A7/GABRQ/SLC24A2/SV2A/PHF24/GABRG2/FGF14/MAP1B/ADORA1/SYT9/KCNB1/SYT4/SLC32A1/NPY/INSYN1/GABRA3/KCNN1/NPTX1/SLC8A3/CACNG3/FGF12/SLITRK5/SYT3/CELF4/GRIN2A/PTCHD1/EFNB3/SCN2B/SYN2/KCNA1/NRXN2/CHRNB2/DCC/APBA2/NLGN4Y/ERC2/INSYN2A/NEUROD2/RIMS2/GLRB/SLC17A6/STXBP5L/SLC4A10/NPTXR/SLC12A5/SHISA9/SYT5/RIMS1/AGT/LRRC4/STX1B/UNC13A/HRH3/NPY2R/BSN/CACNB4/MPP2/SYNGR1/DLG2/JPH3/LYNX1/SLC1A6/GRM5/SYP/UNC13C/APOE/CACNA1A/LRRTM1/SHANK1/SYT12/P2RX6/AMPH/GRID1/PTPRS/CACNG8/PCDHB6/GRM1/MAP1A/CDH8/VGF/GABRB3/ADRA1A/DGKI/PPFIA4/MAPK8IP2/CUX2
## GO:0099536 PLP1/CACNG7/SLC1A2/GRIA2/ADCY8/NR2E1/GRIA1/ATP1A2/KCNQ2/TNR/IGSF11/SEZ6/NLGN1/SLC1A3/PTN/TRIM9/CNTN2/SNCB/TUBB2B/NOVA1/RPH3A/GABBR2/NRXN1/S100B/RIMS4/SNAP25/LGI1/FAM107A/CSPG5/GRID2/CNTNAP4/SORCS3/GRIK3/CNR1/KCNJ10/GRM3/CAMK2B/MAPT/ARC/NTRK2/CHRNA9/PDYN/SHISA7/BCHE/RIT2/SYT6/CDH2/DTNA/LYPD1/NLGN3/GABRA1/KIF5A/GRIK4/GAD2/GRIK5/CACNG4/PCDH8/CYP46A1/SLC6A1/JPH4/CNIH2/WNT7A/NTNG1/RIC3/LRRC4C/ADGRB1/CHRNA4/HAP1/CAMK2A/GRIK2/GRIK1/KCND2/GABRG1/DLGAP1/CX3CR1/RGS8/LRRTM2/TMEM108/CACNA1G/NETO1/NLGN4X/SYT11/GABRA5/DGKB/NRG3/SLC17A7/GABRQ/SLC24A2/SV2A/PHF24/GABRG2/FGF14/MAP1B/ADORA1/SYT9/KCNB1/SYT4/SLC32A1/NPY/INSYN1/GABRA3/KCNN1/NPTX1/SLC8A3/CACNG3/FGF12/SLITRK5/SYT3/CELF4/GRIN2A/PTCHD1/EFNB3/SCN2B/SYN2/KCNA1/NRXN2/CHRNB2/DCC/APBA2/NLGN4Y/ERC2/LY6H/INSYN2A/NEUROD2/RIMS2/GLRB/SLC17A6/STXBP5L/SLC4A10/NPTXR/SLC12A5/SHISA9/SYT5/RIMS1/AGT/LRRC4/STX1B/UNC13A/HRH3/NPY2R/BSN/CACNB4/MPP2/SYNGR1/DLG2/JPH3/LYNX1/SLC1A6/GRM5/SYP/UNC13C/APOE/CACNA1A/LRRTM1/SHANK1/SYT12/P2RX6/AMPH/GRID1/PTPRS/CACNG8/PCDHB6/GRM1/MAP1A/CDH8/VGF/GABRB3/ADRA1A/DGKI/PPFIA4/MAPK8IP2/CUX2
## GO:0007268 PLP1/CACNG7/SLC1A2/GRIA2/ADCY8/NR2E1/GRIA1/ATP1A2/KCNQ2/TNR/IGSF11/SEZ6/NLGN1/SLC1A3/PTN/TRIM9/CNTN2/SNCB/TUBB2B/NOVA1/RPH3A/GABBR2/NRXN1/S100B/RIMS4/SNAP25/LGI1/FAM107A/CSPG5/GRID2/CNTNAP4/SORCS3/GRIK3/CNR1/KCNJ10/GRM3/CAMK2B/MAPT/ARC/NTRK2/CHRNA9/PDYN/SHISA7/BCHE/RIT2/SYT6/CDH2/DTNA/LYPD1/NLGN3/GABRA1/KIF5A/GRIK4/GAD2/GRIK5/CACNG4/PCDH8/CYP46A1/SLC6A1/JPH4/CNIH2/WNT7A/NTNG1/RIC3/LRRC4C/ADGRB1/CHRNA4/HAP1/CAMK2A/GRIK2/GRIK1/KCND2/GABRG1/DLGAP1/CX3CR1/LRRTM2/TMEM108/CACNA1G/NETO1/NLGN4X/SYT11/GABRA5/DGKB/NRG3/SLC17A7/GABRQ/SLC24A2/SV2A/PHF24/GABRG2/FGF14/MAP1B/ADORA1/SYT9/KCNB1/SYT4/SLC32A1/NPY/INSYN1/GABRA3/KCNN1/NPTX1/SLC8A3/CACNG3/FGF12/SLITRK5/SYT3/CELF4/GRIN2A/PTCHD1/EFNB3/SCN2B/SYN2/KCNA1/NRXN2/CHRNB2/DCC/APBA2/NLGN4Y/ERC2/INSYN2A/NEUROD2/RIMS2/GLRB/SLC17A6/STXBP5L/SLC4A10/NPTXR/SLC12A5/SHISA9/SYT5/RIMS1/AGT/LRRC4/STX1B/UNC13A/HRH3/NPY2R/BSN/CACNB4/MPP2/SYNGR1/DLG2/JPH3/LYNX1/SLC1A6/GRM5/SYP/UNC13C/APOE/CACNA1A/LRRTM1/SHANK1/SYT12/P2RX6/AMPH/GRID1/PTPRS/CACNG8/PCDHB6/GRM1/MAP1A/CDH8/VGF/GABRB3/ADRA1A/DGKI/PPFIA4/MAPK8IP2/CUX2
## GO:0098916 PLP1/CACNG7/SLC1A2/GRIA2/ADCY8/NR2E1/GRIA1/ATP1A2/KCNQ2/TNR/IGSF11/SEZ6/NLGN1/SLC1A3/PTN/TRIM9/CNTN2/SNCB/TUBB2B/NOVA1/RPH3A/GABBR2/NRXN1/S100B/RIMS4/SNAP25/LGI1/FAM107A/CSPG5/GRID2/CNTNAP4/SORCS3/GRIK3/CNR1/KCNJ10/GRM3/CAMK2B/MAPT/ARC/NTRK2/CHRNA9/PDYN/SHISA7/BCHE/RIT2/SYT6/CDH2/DTNA/LYPD1/NLGN3/GABRA1/KIF5A/GRIK4/GAD2/GRIK5/CACNG4/PCDH8/CYP46A1/SLC6A1/JPH4/CNIH2/WNT7A/NTNG1/RIC3/LRRC4C/ADGRB1/CHRNA4/HAP1/CAMK2A/GRIK2/GRIK1/KCND2/GABRG1/DLGAP1/CX3CR1/LRRTM2/TMEM108/CACNA1G/NETO1/NLGN4X/SYT11/GABRA5/DGKB/NRG3/SLC17A7/GABRQ/SLC24A2/SV2A/PHF24/GABRG2/FGF14/MAP1B/ADORA1/SYT9/KCNB1/SYT4/SLC32A1/NPY/INSYN1/GABRA3/KCNN1/NPTX1/SLC8A3/CACNG3/FGF12/SLITRK5/SYT3/CELF4/GRIN2A/PTCHD1/EFNB3/SCN2B/SYN2/KCNA1/NRXN2/CHRNB2/DCC/APBA2/NLGN4Y/ERC2/INSYN2A/NEUROD2/RIMS2/GLRB/SLC17A6/STXBP5L/SLC4A10/NPTXR/SLC12A5/SHISA9/SYT5/RIMS1/AGT/LRRC4/STX1B/UNC13A/HRH3/NPY2R/BSN/CACNB4/MPP2/SYNGR1/DLG2/JPH3/LYNX1/SLC1A6/GRM5/SYP/UNC13C/APOE/CACNA1A/LRRTM1/SHANK1/SYT12/P2RX6/AMPH/GRID1/PTPRS/CACNG8/PCDHB6/GRM1/MAP1A/CDH8/VGF/GABRB3/ADRA1A/DGKI/PPFIA4/MAPK8IP2/CUX2
## GO:0022008 PTPRZ1/FABP7/OLIG1/GPM6A/OLIG2/CTNND2/PLP1/CACNG7/ASTN1/SALL3/DPYSL5/FOXG1/GAP43/SOX2/MT3/POU3F2/VXN/ATP1B2/DNER/ASCL1/NR2E1/MAG/CRB1/BRINP2/STMN4/TNR/KIF1A/FUT9/ATP2B2/SLITRK2/RND2/SEZ6/ATCAY/GPM6B/NLGN1/SLC1A3/PTN/DSCAM/DCX/CNTN2/TUBB2B/ERBB4/MAP2/SLITRK3/NRXN1/S100B/MMD2/SNAP25/SLC39A12/CTNNA2/LGI1/LHX2/CSPG5/GRID2/CLU/NKX2-2/CNR1/NRCAM/KCNJ10/SLITRK1/CAMK2B/NTRK3/MAPT/CEND1/RPE65/CNTN1/C1QL1/ADGRB3/ARC/DLL3/TMEM132E/NKX6-2/NTRK2/DCLK1/BCHE/RIT2/PLPPR5/CDH2/OMG/NCAM1/NLGN3/ACTL6B/RORB/SH3GL3/SOX8/BRINP3/SOX3/P2RY12/SLIT1/KIF5A/IRX1/SH3GL2/EPHA5/FEZ1/OPALIN/NKX2-5/UCHL1/WNT7A/NTNG1/EN1/EMX2/TENM1/GSX1/GPR37L1/CDH4/LRRC4C/KIF5C/ADGRB1/GSX2/OTP/DCLK2/HAP1/CAMK2A/SOX11/MYT1L/LHX9/ZNF365/DPYSL4/BMPR1B/CX3CR1/TMEM108/CHL1/NLGN4X/ALK/GABRA5/OPCML/SRRM4/NRG3/RGMA/ZDHHC15/DRAXIN/BEND6/MAP6/TBR1/NDRG4/SALL1/SCRT1/MAP1B/CCK/DOK5/SPP1/ADGRL3/VWC2L/MDGA2/SYT4/NPY/RNF165/DLX1/LRP2/NCAM2/RNF112/NPTX1/NEFL/SLC8A3/SCRT2/GPRC5B/SLITRK5/NYAP1/CRMP1/SYT3/GRIN2A/SPTBN4/ADGRV1/NKX6-1/SHOX2/EFNB3/HOXC10/DISP3/KCNA1/CHRNB2/CDK5R2/UNC5D/VAX2/DCC/NEUROD2/RIMS2/NEUROD1/NAP1L2/MYO16/PLXNB3/GPR173/INSM1/SLC4A10/PAK3/SLC12A5/DMRTA2/KLF15/SEMA3E/CSMD3/ARX/TMEFF1/SEMA5B/WASF3/RIMS1/KNDC1/GPR17/OLFM1/AGT/NEXMIF/BRINP1/STX1B/UNC13A/HEY1/MAGI2/ID4/DCT/EFHD1/SOX5/ETV1
## GO:0048699 PTPRZ1/OLIG1/GPM6A/OLIG2/CTNND2/PLP1/CACNG7/ASTN1/SALL3/DPYSL5/FOXG1/GAP43/SOX2/MT3/POU3F2/VXN/ATP1B2/DNER/ASCL1/NR2E1/MAG/CRB1/BRINP2/STMN4/TNR/KIF1A/FUT9/ATP2B2/SLITRK2/RND2/SEZ6/ATCAY/GPM6B/NLGN1/SLC1A3/PTN/DSCAM/DCX/CNTN2/TUBB2B/ERBB4/MAP2/SLITRK3/NRXN1/S100B/MMD2/SNAP25/SLC39A12/CTNNA2/LGI1/LHX2/GRID2/NKX2-2/CNR1/NRCAM/SLITRK1/CAMK2B/NTRK3/MAPT/CEND1/RPE65/CNTN1/C1QL1/ADGRB3/ARC/DLL3/TMEM132E/NKX6-2/NTRK2/DCLK1/BCHE/RIT2/PLPPR5/CDH2/OMG/NCAM1/NLGN3/ACTL6B/RORB/SH3GL3/SOX8/BRINP3/SOX3/P2RY12/SLIT1/KIF5A/IRX1/SH3GL2/EPHA5/FEZ1/OPALIN/NKX2-5/UCHL1/WNT7A/NTNG1/EN1/EMX2/TENM1/GSX1/GPR37L1/CDH4/LRRC4C/KIF5C/ADGRB1/GSX2/OTP/DCLK2/HAP1/CAMK2A/SOX11/MYT1L/LHX9/ZNF365/DPYSL4/BMPR1B/CX3CR1/TMEM108/CHL1/NLGN4X/ALK/GABRA5/OPCML/SRRM4/NRG3/RGMA/ZDHHC15/DRAXIN/BEND6/MAP6/TBR1/NDRG4/SALL1/SCRT1/MAP1B/CCK/DOK5/SPP1/ADGRL3/VWC2L/MDGA2/SYT4/NPY/RNF165/DLX1/LRP2/NCAM2/RNF112/NPTX1/NEFL/SCRT2/GPRC5B/SLITRK5/NYAP1/CRMP1/SYT3/SPTBN4/ADGRV1/NKX6-1/SHOX2/EFNB3/HOXC10/DISP3/KCNA1/CHRNB2/CDK5R2/UNC5D/VAX2/DCC/NEUROD2/RIMS2/NEUROD1/NAP1L2/MYO16/PLXNB3/GPR173/INSM1/SLC4A10/PAK3/SLC12A5/DMRTA2/SEMA3E/CSMD3/ARX/TMEFF1/SEMA5B/RIMS1/KNDC1/OLFM1/AGT/NEXMIF/BRINP1/STX1B/UNC13A/HEY1/MAGI2/ID4/DCT/EFHD1/SOX5/ETV1
ggo.gbm.up <- id.table(ggo.gbm.up)
#gbm gsea GO down
ggo.gbm.dn <- ggo.gbm.BP[which(ggo.gbm.BP$NES < -1),]
head(ggo.gbm.dn)
## ID
## GO:0006955 GO:0006955
## GO:0002250 GO:0002250
## GO:0006959 GO:0006959
## GO:0002455 GO:0002455
## GO:0006958 GO:0006958
## GO:0002429 GO:0002429
## Description
## GO:0006955 immune response
## GO:0002250 adaptive immune response
## GO:0006959 humoral immune response
## GO:0002455 humoral immune response mediated by circulating immunoglobulin
## GO:0006958 complement activation, classical pathway
## GO:0002429 immune response-activating cell surface receptor signaling pathway
## setSize enrichmentScore NES pvalue p.adjust
## GO:0006955 451 -0.4515475 -3.937290 8.385004e-46 2.354509e-42
## GO:0002250 182 -0.5843009 -4.355833 2.745566e-39 3.854775e-36
## GO:0006959 141 -0.6258169 -4.423845 1.675515e-36 9.409694e-34
## GO:0002455 91 -0.7143855 -4.546209 3.499010e-36 1.228152e-33
## GO:0006958 90 -0.7209518 -4.581309 6.494702e-36 1.823712e-33
## GO:0002429 129 -0.6323243 -4.395792 3.767122e-35 8.815065e-33
## qvalues rank leading_edge
## GO:0006955 1.617864e-42 1678 tags=71%, list=35%, signal=51%
## GO:0002250 2.648749e-36 1246 tags=76%, list=26%, signal=59%
## GO:0006959 6.465725e-34 1090 tags=75%, list=23%, signal=60%
## GO:0002455 8.439059e-34 885 tags=82%, list=18%, signal=69%
## GO:0006958 1.253136e-33 885 tags=83%, list=18%, signal=69%
## GO:0002429 6.057135e-33 705 tags=77%, list=15%, signal=67%
## core_enrichment
## GO:0006955 TNFSF9/CD3E/GRAP2/MYO1C/B4GALT1/XCR1/THBS1/PTGER4/IL1R2/SRPK1/CD1E/NAPRT/CCR4/HLA-G/RHOF/SLC26A6/TCF7/CD40LG/MVP/LAMP3/TNFSF10/LGALS3/EMP2/FASLG/TRBV28/ANPEP/FFAR2/LTB/SIGLEC15/CFB/IGHD/NLRP6/CD3G/SLAMF1/CXCL13/TRBV20-1/LAX1/CD3D/STXBP2/ZBP1/TMEM63A/CXCL9/UBASH3A/LTBR/COL3A1/CXCR6/GCH1/BMX/PF4/KLK7/STAT6/ELF4/F2/IGKV1-39/CD46/IGLV5-37/PLA2G2A/CNN2/IFI27/TNFRSF11A/CD1A/CEACAM3/CCL19/SERPINB1/PGC/MCOLN2/SEMA3C/IFITM1/WFDC2/COL1A1/PLA2G2D/ZC3H12A/IGHV4-4/NBEAL2/TRPM4/FZD5/TEC/DNASE1L3/RIPK3/ICOS/MME/NCR3LG1/CTSV/FLNB/CCL22/IL1RL2/LYZ/IRF4/PLA2G3/FCRL3/SLAMF7/LCK/IGKV2-29/IGKV1D-17/PLA2G2F/IGKV2D-24/CCL14/CSF2/LY75/MUC1/ADAMDEC1/GCSAM/MS4A1/IGKV1D-13/PI3/PAWR/IGKV2-30/TNFRSF13B/FGB/CPN1/ALOX15/IGKV1D-43/IL32/PKP1/AGPAT2/GZMB/CLC/SEMG1/INAVA/IDO1/IGLV3-16/UBD/CD55/CCL13/IGHV3-7/IGKV6D-21/CCL18/CRACR2A/AMBP/IGHV1-45/PLAC8/CD79A/ENPP3/TNFRSF17/CXCL3/IGKV5-2/CTSG/F2RL1/IGHV1-3/IGHV3-35/ASS1/IGHV2-70D/POU2AF1/RAET1L/IGKV1-12/FGA/CXCR3/SRMS/IGHV6-1/IGKV3D-15/IGLV9-49/TNK1/PPARG/IL2RG/KRT6A/IGLV1-36/IGLV4-60/JUP/CD24/IGLV7-46/SKAP1/IGLV5-45/KCNN4/IGHV3-20/MS4A2/KLK3/IGHV2-70/IGKV6-21/CLDN1/IGKV3D-11/IGHV3-64/TNFSF15/IGKV1D-8/IGLC7/IL23R/IGLV3-27/IGKV3-7/IGKV1-8/IGLV10-54/IGLV1-47/CXCL1/IGLV7-43/IGHV2-5/IGLV1-51/IGHV3-13/IGHV1-58/TCN1/MUC20/IGHV4-61/IGHV3-66/C4BPA/FCAMR/LRG1/IGHV3-43/RAB17/IGLV2-18/IGKV2D-29/MNX1/IGKV2-24/FRK/STYK1/IGKV3D-20/CD177/CCL20/BTNL8/IGLV3-9/CR2/IGHV2-26/SPINK5/DEFB1/TNFSF11/IGHM/IGHV1-69/IGKV1-27/IGLV8-61/IGHV7-81/CCL28/IGHV3-53/TDGF1/IGKV1-6/MUC12/IGHV4-28/IGHV3-33/IGLV1-44/IGLV3-10/IGHV4-34/IGHV3-48/PRSS3/IGLV1-40/TRIM29/SMPDL3B/IGLC3/IGHV3-73/REG1B/IGHG3/IGLV2-11/IGLV2-14/PTK6/IGKV1-17/IGKV1-9/IGHV3-72/IGHV1-24/IGLV4-69/IGLV2-8/IGLV6-57/IGKV1-16/RORC/PRSS2/EREG/IGLV3-19/MUC4/IGHV3-30/IGHV1-69D/IGHV3-21/IGHG2/IRF6/IGHV3-74/IGLL5/IGKV3-20/IGHV3-15/IGHV3-49/IGHG1/IGLV3-21/MYB/IGLC2/IGKV3-15/IGKV1-5/C4BPB/IGLV2-23/IGLV3-25/IGKV4-1/ANXA3/IGHV3-11/IGHV3-23/IGHG4/TRIM40/IGHV4-59/IGHV4-39/JCHAIN/IGHV1-18/IGKC/DEFA5/DEFA6/IGHV5-51/DSP/MUC5AC/SLC27A2/NKX2-3/CCL11/TRIM10/IGHA1/PCK1/MST1R/MMP12/BTNL3/DMBT1/CEACAM1/CCL15/CCL21/MUC3A/IGHA2/REG3A/CCL24/REG1A/COL17A1/HHLA2/S100P/ITLN1/MUC17/GCNT3/OLFM4/MUC5B/AOC1/TRIM31/TRIM15/LCN2/CDH17/PIGR/MUC13/MUC2/CEACAM6
## GO:0002250 STAT6/IGKV1-39/CD46/IGLV5-37/TNFRSF11A/CD1A/CCL19/MCOLN2/ZC3H12A/IGHV4-4/TRPM4/FZD5/TEC/RIPK3/IRF4/SLAMF7/IGKV2-29/IGKV1D-17/IGKV2D-24/IGKV1D-13/IGKV2-30/TNFRSF13B/FGB/ALOX15/IGKV1D-43/CLC/IGLV3-16/CD55/IGHV3-7/IGKV6D-21/CRACR2A/IGHV1-45/CD79A/TNFRSF17/IGKV5-2/IGHV1-3/IGHV3-35/IGHV2-70D/IGKV1-12/FGA/IGHV6-1/IGKV3D-15/IGLV9-49/IGLV1-36/IGLV4-60/IGLV7-46/SKAP1/IGLV5-45/IGHV3-20/IGHV2-70/IGKV6-21/IGKV3D-11/IGHV3-64/IGKV1D-8/IGLC7/IL23R/IGLV3-27/IGKV3-7/IGKV1-8/IGLV10-54/IGLV1-47/IGLV7-43/IGHV2-5/IGLV1-51/IGHV3-13/IGHV1-58/IGHV4-61/IGHV3-66/C4BPA/FCAMR/IGHV3-43/IGLV2-18/IGKV2D-29/IGKV2-24/IGKV3D-20/BTNL8/IGLV3-9/CR2/IGHV2-26/IGHM/IGHV1-69/IGKV1-27/IGLV8-61/IGHV7-81/IGHV3-53/IGKV1-6/IGHV4-28/IGHV3-33/IGLV1-44/IGLV3-10/IGHV4-34/IGHV3-48/IGLV1-40/IGLC3/IGHV3-73/IGHG3/IGLV2-11/IGLV2-14/IGKV1-17/IGKV1-9/IGHV3-72/IGHV1-24/IGLV4-69/IGLV2-8/IGLV6-57/IGKV1-16/RORC/IGLV3-19/IGHV3-30/IGHV1-69D/IGHV3-21/IGHG2/IGHV3-74/IGLL5/IGKV3-20/IGHV3-15/IGHV3-49/IGHG1/IGLV3-21/IGLC2/IGKV3-15/IGKV1-5/C4BPB/IGLV2-23/IGLV3-25/IGKV4-1/IGHV3-11/IGHV3-23/IGHG4/IGHV4-59/IGHV4-39/JCHAIN/IGHV1-18/IGKC/IGHV5-51/IGHA1/CEACAM1/IGHA2/GCNT3
## GO:0006959 MS4A1/PI3/IGKV2-30/FGB/CPN1/SEMG1/CD55/CCL13/IGHV3-7/IGHV1-45/CXCL3/IGKV5-2/CTSG/IGHV1-3/IGHV3-35/IGHV2-70D/POU2AF1/IGKV1-12/FGA/IGHV6-1/KRT6A/IGHV3-20/KLK3/IGHV2-70/IGKV3D-11/IGHV3-64/IGLC7/IGLV3-27/IGLV1-47/CXCL1/IGLV7-43/IGHV2-5/IGLV1-51/IGHV3-13/IGHV1-58/IGHV4-61/IGHV3-66/C4BPA/IGHV3-43/MNX1/IGKV3D-20/CR2/IGHV2-26/SPINK5/DEFB1/IGHM/IGHV1-69/IGHV7-81/IGHV3-53/IGHV4-28/IGHV3-33/IGLV1-44/IGHV4-34/IGHV3-48/PRSS3/IGLV1-40/IGLC3/IGHV3-73/REG1B/IGHG3/IGLV2-11/IGLV2-14/IGKV1-17/IGHV3-72/IGHV1-24/IGLV2-8/IGLV6-57/IGKV1-16/PRSS2/IGLV3-19/IGHV3-30/IGHV1-69D/IGHV3-21/IGHG2/IGHV3-74/IGLL5/IGKV3-20/IGHV3-15/IGHV3-49/IGHG1/IGLV3-21/IGLC2/IGKV3-15/IGKV1-5/C4BPB/IGLV2-23/IGLV3-25/IGKV4-1/IGHV3-11/IGHV3-23/IGHG4/IGHV4-59/IGHV4-39/JCHAIN/IGHV1-18/IGKC/DEFA5/DEFA6/IGHV5-51/IGHA1/DMBT1/IGHA2/REG3A/REG1A/ITLN1/LCN2
## GO:0002455 IGKV5-2/IGHV1-3/IGHV3-35/IGHV2-70D/IGKV1-12/IGHV6-1/IGHV3-20/IGHV2-70/IGKV3D-11/IGHV3-64/IGLC7/IGLV3-27/IGLV1-47/IGLV7-43/IGHV2-5/IGLV1-51/IGHV3-13/IGHV1-58/IGHV4-61/IGHV3-66/C4BPA/IGHV3-43/IGKV3D-20/CR2/IGHV2-26/IGHM/IGHV1-69/IGHV7-81/IGHV3-53/IGHV4-28/IGHV3-33/IGLV1-44/IGHV4-34/IGHV3-48/IGLV1-40/IGLC3/IGHV3-73/IGHG3/IGLV2-11/IGLV2-14/IGKV1-17/IGHV3-72/IGHV1-24/IGLV2-8/IGLV6-57/IGKV1-16/IGLV3-19/IGHV3-30/IGHV1-69D/IGHV3-21/IGHG2/IGHV3-74/IGLL5/IGKV3-20/IGHV3-15/IGHV3-49/IGHG1/IGLV3-21/IGLC2/IGKV3-15/IGKV1-5/C4BPB/IGLV2-23/IGLV3-25/IGKV4-1/IGHV3-11/IGHV3-23/IGHG4/IGHV4-59/IGHV4-39/IGHV1-18/IGKC/IGHV5-51/IGHA1/IGHA2
## GO:0006958 IGKV5-2/IGHV1-3/IGHV3-35/IGHV2-70D/IGKV1-12/IGHV6-1/IGHV3-20/IGHV2-70/IGKV3D-11/IGHV3-64/IGLC7/IGLV3-27/IGLV1-47/IGLV7-43/IGHV2-5/IGLV1-51/IGHV3-13/IGHV1-58/IGHV4-61/IGHV3-66/C4BPA/IGHV3-43/IGKV3D-20/CR2/IGHV2-26/IGHM/IGHV1-69/IGHV7-81/IGHV3-53/IGHV4-28/IGHV3-33/IGLV1-44/IGHV4-34/IGHV3-48/IGLV1-40/IGLC3/IGHV3-73/IGHG3/IGLV2-11/IGLV2-14/IGKV1-17/IGHV3-72/IGHV1-24/IGLV2-8/IGLV6-57/IGKV1-16/IGLV3-19/IGHV3-30/IGHV1-69D/IGHV3-21/IGHG2/IGHV3-74/IGLL5/IGKV3-20/IGHV3-15/IGHV3-49/IGHG1/IGLV3-21/IGLC2/IGKV3-15/IGKV1-5/C4BPB/IGLV2-23/IGLV3-25/IGKV4-1/IGHV3-11/IGHV3-23/IGHG4/IGHV4-59/IGHV4-39/IGHV1-18/IGKC/IGHV5-51/IGHA1/IGHA2
## GO:0002429 FCRL3/LCK/IGKV2-29/MUC1/GCSAM/MS4A1/PAWR/IGKV2-30/IGHV3-7/IGHV1-45/CD79A/IGKV5-2/IGHV1-3/IGHV3-35/IGHV2-70D/IGKV1-12/IGHV6-1/SKAP1/KCNN4/IGHV3-20/IGHV2-70/IGKV3D-11/IGHV3-64/IGLC7/IGLV3-27/IGLV1-47/IGLV7-43/IGHV2-5/IGLV1-51/IGHV3-13/IGHV1-58/MUC20/IGHV4-61/IGHV3-66/IGHV3-43/IGKV3D-20/BTNL8/CR2/IGHV2-26/IGHM/IGHV1-69/IGHV7-81/IGHV3-53/MUC12/IGHV4-28/IGHV3-33/IGLV1-44/IGHV4-34/IGHV3-48/IGLV1-40/IGLC3/IGHV3-73/IGHG3/IGLV2-11/IGLV2-14/IGKV1-17/IGHV3-72/IGHV1-24/IGLV2-8/IGLV6-57/IGKV1-16/IGLV3-19/MUC4/IGHV3-30/IGHV1-69D/IGHV3-21/IGHG2/IGHV3-74/IGLL5/IGKV3-20/IGHV3-15/IGHV3-49/IGHG1/IGLV3-21/IGLC2/IGKV3-15/IGKV1-5/IGLV2-23/IGLV3-25/IGKV4-1/IGHV3-11/IGHV3-23/IGHG4/IGHV4-59/IGHV4-39/IGHV1-18/IGKC/IGHV5-51/MUC5AC/IGHA1/BTNL3/CEACAM1/MUC3A/IGHA2/HHLA2/MUC17/MUC5B/MUC13/MUC2
ggo.gbm.dn <- id.table(ggo.gbm.dn)
### LGG
## BIOLOGICAL PROCESS (BP)
# GSEA GO BP
ggo.lgg.BP <- gseGO(geneList = c(lgg.up.gene,
lgg.dn.gene),
OrgDb = org.Hs.eg.db,
ont = "BP",
pvalueCutoff = 0.05,
eps = 0,
verbose = FALSE)
## Warning in preparePathwaysAndStats(pathways, stats, minSize, maxSize,
## gseaParam, : There are duplicate gene names, fgsea may produce unexpected
## results.
ggo.lgg.BP <- setReadable(ggo.lgg.BP, 'org.Hs.eg.db', 'ENTREZID')
#lgg gsea GO up
ggo.lgg.up <- ggo.lgg.BP[which(ggo.lgg.BP$NES > 1),]
head(ggo.lgg.up)
## ID Description setSize
## GO:0099536 GO:0099536 synaptic signaling 352
## GO:0099537 GO:0099537 trans-synaptic signaling 347
## GO:0007268 GO:0007268 chemical synaptic transmission 344
## GO:0098916 GO:0098916 anterograde trans-synaptic signaling 344
## GO:0050804 GO:0050804 modulation of chemical synaptic transmission 216
## GO:0099177 GO:0099177 regulation of trans-synaptic signaling 217
## enrichmentScore NES pvalue p.adjust qvalues rank
## GO:0099536 0.5477254 4.318046 4.996823e-59 1.735397e-55 1.097723e-55 1365
## GO:0099537 0.5472457 4.309562 3.059109e-58 5.312143e-55 3.360190e-55 1347
## GO:0007268 0.5479157 4.306684 1.986962e-57 1.725179e-54 1.091260e-54 1250
## GO:0098916 0.5479157 4.306684 1.986962e-57 1.725179e-54 1.091260e-54 1250
## GO:0050804 0.5398687 3.945595 1.258054e-35 1.560436e-33 9.870523e-34 1242
## GO:0099177 0.5377941 3.942770 1.472253e-35 1.669964e-33 1.056334e-33 1242
## leading_edge
## GO:0099536 tags=59%, list=22%, signal=49%
## GO:0099537 tags=59%, list=22%, signal=48%
## GO:0007268 tags=57%, list=20%, signal=48%
## GO:0098916 tags=57%, list=20%, signal=48%
## GO:0050804 tags=56%, list=20%, signal=46%
## GO:0099177 tags=56%, list=20%, signal=46%
## core_enrichment
## GO:0099536 TNR/PLP1/GRIA2/SLC1A2/CACNG7/ADCY8/GRIA1/KCNQ2/ATP1A2/GABBR2/NRXN1/GABRG1/CNTNAP4/SEZ6/SHISA7/GRID2/SNCB/CHRNA4/SORCS3/NLGN1/KCNJ10/CNTN2/SNAP25/MAPT/NTRK2/IGSF11/TRIM9/FAM107A/RPH3A/JPH4/NR2E1/CSPG5/NOVA1/KCNB1/NRG3/GRM3/RIMS4/SLC1A3/GABRA1/SYT6/KIF5A/SLC6A1/GABRG2/DLGAP1/GRIK4/NETO1/GABRA3/ADGRB1/GAD2/GRIK3/JPH3/SLC1A6/CAMK2B/TUBB2B/KCND2/RIMS2/LGI1/CACNG2/SYT9/SLITRK5/GRIK2/CACNG4/HRH3/BCHE/LRRC4C/SLC8A3/GABRA5/PTN/NLGN3/CYP46A1/S100B/DGKB/CUX2/DTNA/RIC3/CAMK2A/CACNG3/CELF4/LRRTM2/SYT4/SLC24A2/SLC17A7/GLRA3/FGF12/GABRB3/PHF24/GRIN2A/GRM5/WNT7A/SCN2B/GRIK5/PDYN/KCNN1/UNC13A/SLC32A1/NPY/CDH2/INSYN1/PCDH8/RIMS1/CHRNB2/UNC13C/RIT2/NRXN2/TMEM108/SYT11/FGF14/CNR1/KCNA1/SYN2/STXBP5L/CNIH2/BSN/STX1B/GABRQ/LYPD1/SV2A/SYT3/NPTX1/DLG2/CPLX2/DCC/ADRA1A/ARC/HAP1/LY6H/SLC12A5/CACNA1A/LRRC4/ERC2/SHANK1/GRM1/MAP1B/NEUROD2/CX3CR1/NLGN4X/IL1RAPL1/APBA2/LRRTM1/SYP/P2RX6/GRID1/SLC17A6/SYNGR1/NPTXR/CACNA1G/RGS8/DLGAP2/DGKI/SHISA9/CACNG8/SLC8A2/CACNB4/SLC4A10/MAP1A/GLRB/LYNX1/PPFIA2/CACNA1E/SYT5/MAPK8IP2/NTNG1/CACNA1B/EFNB3/CDH8/SYN1/GAD1/MPP2/TMOD2/HTR5A/HTR2C/CLSTN2/APOE/PTCHD1/KCNIP2/DLGAP3/GABRG3/HTR1A/ADORA1/SLC17A8/P2RX7/GJD2/AMPH/KCNK3/AGT/EPHB1/CPNE6/INSYN2A/PTPRS/SYT12/GABRB1/SHC3/GRIK1/NTNG2/GRIN2C/SHISA6/RASGRF1/KCNQ3/PCDHB5/CRHBP/NLGN2/NOS1/GRIN1/DRP2/SV2B/SNCA/CDK5R1/ABAT
## GO:0099537 TNR/PLP1/GRIA2/SLC1A2/CACNG7/ADCY8/GRIA1/KCNQ2/ATP1A2/GABBR2/NRXN1/GABRG1/CNTNAP4/SEZ6/SHISA7/GRID2/SNCB/CHRNA4/SORCS3/NLGN1/KCNJ10/CNTN2/SNAP25/MAPT/NTRK2/IGSF11/TRIM9/FAM107A/RPH3A/JPH4/NR2E1/CSPG5/NOVA1/KCNB1/NRG3/GRM3/RIMS4/SLC1A3/GABRA1/SYT6/KIF5A/SLC6A1/GABRG2/DLGAP1/GRIK4/NETO1/GABRA3/ADGRB1/GAD2/GRIK3/JPH3/SLC1A6/CAMK2B/TUBB2B/KCND2/RIMS2/LGI1/CACNG2/SYT9/SLITRK5/GRIK2/CACNG4/HRH3/BCHE/LRRC4C/SLC8A3/GABRA5/PTN/NLGN3/CYP46A1/S100B/DGKB/CUX2/DTNA/RIC3/CAMK2A/CACNG3/CELF4/LRRTM2/SYT4/SLC24A2/SLC17A7/GLRA3/FGF12/GABRB3/PHF24/GRIN2A/GRM5/WNT7A/SCN2B/GRIK5/PDYN/KCNN1/UNC13A/SLC32A1/NPY/CDH2/INSYN1/PCDH8/RIMS1/CHRNB2/UNC13C/RIT2/NRXN2/TMEM108/SYT11/FGF14/CNR1/KCNA1/SYN2/STXBP5L/CNIH2/BSN/STX1B/GABRQ/LYPD1/SV2A/SYT3/NPTX1/DLG2/CPLX2/DCC/ADRA1A/ARC/HAP1/SLC12A5/CACNA1A/LRRC4/ERC2/SHANK1/GRM1/MAP1B/NEUROD2/CX3CR1/NLGN4X/IL1RAPL1/APBA2/LRRTM1/SYP/P2RX6/GRID1/SLC17A6/SYNGR1/NPTXR/CACNA1G/DLGAP2/DGKI/SHISA9/CACNG8/SLC8A2/CACNB4/SLC4A10/MAP1A/GLRB/LYNX1/PPFIA2/CACNA1E/SYT5/MAPK8IP2/NTNG1/CACNA1B/EFNB3/CDH8/SYN1/GAD1/MPP2/TMOD2/HTR5A/HTR2C/CLSTN2/APOE/PTCHD1/KCNIP2/DLGAP3/GABRG3/HTR1A/ADORA1/SLC17A8/P2RX7/GJD2/AMPH/KCNK3/AGT/EPHB1/CPNE6/INSYN2A/PTPRS/SYT12/GABRB1/SHC3/GRIK1/NTNG2/GRIN2C/SHISA6/RASGRF1/KCNQ3/PCDHB5/CRHBP/NLGN2/NOS1/GRIN1/SV2B/SNCA
## GO:0007268 TNR/PLP1/GRIA2/SLC1A2/CACNG7/ADCY8/GRIA1/KCNQ2/ATP1A2/GABBR2/NRXN1/GABRG1/CNTNAP4/SEZ6/SHISA7/GRID2/SNCB/CHRNA4/SORCS3/NLGN1/KCNJ10/CNTN2/SNAP25/MAPT/NTRK2/IGSF11/TRIM9/FAM107A/RPH3A/JPH4/NR2E1/CSPG5/NOVA1/KCNB1/NRG3/GRM3/RIMS4/SLC1A3/GABRA1/SYT6/KIF5A/SLC6A1/GABRG2/DLGAP1/GRIK4/NETO1/GABRA3/ADGRB1/GAD2/GRIK3/JPH3/SLC1A6/CAMK2B/TUBB2B/KCND2/RIMS2/LGI1/CACNG2/SYT9/SLITRK5/GRIK2/CACNG4/HRH3/BCHE/LRRC4C/SLC8A3/GABRA5/PTN/NLGN3/CYP46A1/S100B/DGKB/CUX2/DTNA/RIC3/CAMK2A/CACNG3/CELF4/LRRTM2/SYT4/SLC24A2/SLC17A7/GLRA3/FGF12/GABRB3/PHF24/GRIN2A/GRM5/WNT7A/SCN2B/GRIK5/PDYN/KCNN1/UNC13A/SLC32A1/NPY/CDH2/INSYN1/PCDH8/RIMS1/CHRNB2/UNC13C/RIT2/NRXN2/TMEM108/SYT11/FGF14/CNR1/KCNA1/SYN2/STXBP5L/CNIH2/BSN/STX1B/GABRQ/LYPD1/SV2A/SYT3/NPTX1/DLG2/CPLX2/DCC/ADRA1A/ARC/HAP1/SLC12A5/CACNA1A/LRRC4/ERC2/SHANK1/GRM1/MAP1B/NEUROD2/CX3CR1/NLGN4X/APBA2/LRRTM1/SYP/P2RX6/GRID1/SLC17A6/SYNGR1/NPTXR/CACNA1G/DLGAP2/DGKI/SHISA9/CACNG8/SLC8A2/CACNB4/SLC4A10/MAP1A/GLRB/LYNX1/PPFIA2/CACNA1E/SYT5/MAPK8IP2/NTNG1/CACNA1B/EFNB3/CDH8/SYN1/GAD1/MPP2/TMOD2/HTR5A/HTR2C/CLSTN2/APOE/PTCHD1/KCNIP2/DLGAP3/GABRG3/HTR1A/ADORA1/SLC17A8/P2RX7/GJD2/AMPH/KCNK3/AGT/EPHB1/CPNE6/INSYN2A/PTPRS/SYT12/GABRB1/SHC3/GRIK1/NTNG2/GRIN2C/SHISA6/RASGRF1/KCNQ3
## GO:0098916 TNR/PLP1/GRIA2/SLC1A2/CACNG7/ADCY8/GRIA1/KCNQ2/ATP1A2/GABBR2/NRXN1/GABRG1/CNTNAP4/SEZ6/SHISA7/GRID2/SNCB/CHRNA4/SORCS3/NLGN1/KCNJ10/CNTN2/SNAP25/MAPT/NTRK2/IGSF11/TRIM9/FAM107A/RPH3A/JPH4/NR2E1/CSPG5/NOVA1/KCNB1/NRG3/GRM3/RIMS4/SLC1A3/GABRA1/SYT6/KIF5A/SLC6A1/GABRG2/DLGAP1/GRIK4/NETO1/GABRA3/ADGRB1/GAD2/GRIK3/JPH3/SLC1A6/CAMK2B/TUBB2B/KCND2/RIMS2/LGI1/CACNG2/SYT9/SLITRK5/GRIK2/CACNG4/HRH3/BCHE/LRRC4C/SLC8A3/GABRA5/PTN/NLGN3/CYP46A1/S100B/DGKB/CUX2/DTNA/RIC3/CAMK2A/CACNG3/CELF4/LRRTM2/SYT4/SLC24A2/SLC17A7/GLRA3/FGF12/GABRB3/PHF24/GRIN2A/GRM5/WNT7A/SCN2B/GRIK5/PDYN/KCNN1/UNC13A/SLC32A1/NPY/CDH2/INSYN1/PCDH8/RIMS1/CHRNB2/UNC13C/RIT2/NRXN2/TMEM108/SYT11/FGF14/CNR1/KCNA1/SYN2/STXBP5L/CNIH2/BSN/STX1B/GABRQ/LYPD1/SV2A/SYT3/NPTX1/DLG2/CPLX2/DCC/ADRA1A/ARC/HAP1/SLC12A5/CACNA1A/LRRC4/ERC2/SHANK1/GRM1/MAP1B/NEUROD2/CX3CR1/NLGN4X/APBA2/LRRTM1/SYP/P2RX6/GRID1/SLC17A6/SYNGR1/NPTXR/CACNA1G/DLGAP2/DGKI/SHISA9/CACNG8/SLC8A2/CACNB4/SLC4A10/MAP1A/GLRB/LYNX1/PPFIA2/CACNA1E/SYT5/MAPK8IP2/NTNG1/CACNA1B/EFNB3/CDH8/SYN1/GAD1/MPP2/TMOD2/HTR5A/HTR2C/CLSTN2/APOE/PTCHD1/KCNIP2/DLGAP3/GABRG3/HTR1A/ADORA1/SLC17A8/P2RX7/GJD2/AMPH/KCNK3/AGT/EPHB1/CPNE6/INSYN2A/PTPRS/SYT12/GABRB1/SHC3/GRIK1/NTNG2/GRIN2C/SHISA6/RASGRF1/KCNQ3
## GO:0050804 TNR/CACNG7/ADCY8/GRIA1/ATP1A2/NRXN1/CNTNAP4/SHISA7/GRID2/CHRNA4/SORCS3/NLGN1/KCNJ10/CNTN2/SNAP25/MAPT/NTRK2/IGSF11/FAM107A/JPH4/NR2E1/CSPG5/KCNB1/NRG3/GRM3/RIMS4/SLC1A3/SLC6A1/DLGAP1/GRIK4/NETO1/ADGRB1/GRIK3/JPH3/CAMK2B/TUBB2B/RIMS2/LGI1/CACNG2/SYT9/GRIK2/CACNG4/BCHE/LRRC4C/SLC8A3/PTN/NLGN3/CYP46A1/S100B/DGKB/CUX2/CAMK2A/CACNG3/CELF4/LRRTM2/SYT4/SLC24A2/PHF24/GRIN2A/GRM5/WNT7A/GRIK5/UNC13A/CDH2/RIMS1/CHRNB2/UNC13C/TMEM108/SYT11/FGF14/CNR1/STXBP5L/CNIH2/STX1B/NPTX1/CPLX2/DCC/ADRA1A/ARC/HAP1/CACNA1A/LRRC4/SHANK1/GRM1/MAP1B/NEUROD2/CX3CR1/NLGN4X/APBA2/LRRTM1/SYP/GRID1/SYNGR1/NPTXR/DLGAP2/DGKI/SHISA9/CACNG8/SLC8A2/SLC4A10/MAP1A/PPFIA2/MAPK8IP2/NTNG1/CACNA1B/EFNB3/SYN1/MPP2/CLSTN2/APOE/DLGAP3/ADORA1/AGT/EPHB1/PTPRS/SYT12/GRIK1/NTNG2/GRIN2C/SHISA6/RASGRF1
## GO:0099177 TNR/CACNG7/ADCY8/GRIA1/ATP1A2/NRXN1/CNTNAP4/SHISA7/GRID2/CHRNA4/SORCS3/NLGN1/KCNJ10/CNTN2/SNAP25/MAPT/NTRK2/IGSF11/FAM107A/JPH4/NR2E1/CSPG5/KCNB1/NRG3/GRM3/RIMS4/SLC1A3/SLC6A1/DLGAP1/GRIK4/NETO1/ADGRB1/GRIK3/JPH3/CAMK2B/TUBB2B/RIMS2/LGI1/CACNG2/SYT9/GRIK2/CACNG4/BCHE/LRRC4C/SLC8A3/PTN/NLGN3/CYP46A1/S100B/DGKB/CUX2/CAMK2A/CACNG3/CELF4/LRRTM2/SYT4/SLC24A2/PHF24/GRIN2A/GRM5/WNT7A/GRIK5/UNC13A/CDH2/RIMS1/CHRNB2/UNC13C/TMEM108/SYT11/FGF14/CNR1/STXBP5L/CNIH2/STX1B/NPTX1/CPLX2/DCC/ADRA1A/ARC/HAP1/CACNA1A/LRRC4/SHANK1/GRM1/MAP1B/NEUROD2/CX3CR1/NLGN4X/APBA2/LRRTM1/SYP/GRID1/SYNGR1/NPTXR/DLGAP2/DGKI/SHISA9/CACNG8/SLC8A2/SLC4A10/MAP1A/PPFIA2/MAPK8IP2/NTNG1/CACNA1B/EFNB3/SYN1/MPP2/CLSTN2/APOE/DLGAP3/ADORA1/AGT/EPHB1/PTPRS/SYT12/GRIK1/NTNG2/GRIN2C/SHISA6/RASGRF1
ggo.lgg.up <- id.table(ggo.lgg.up)
#lgg gsea GO down
ggo.lgg.dn <- ggo.lgg.BP[which(ggo.lgg.BP$NES < -1),]
head(ggo.lgg.dn)
## ID
## GO:0002250 GO:0002250
## GO:0006958 GO:0006958
## GO:0006959 GO:0006959
## GO:0002455 GO:0002455
## GO:0002252 GO:0002252
## GO:0002684 GO:0002684
## Description
## GO:0002250 adaptive immune response
## GO:0006958 complement activation, classical pathway
## GO:0006959 humoral immune response
## GO:0002455 humoral immune response mediated by circulating immunoglobulin
## GO:0002252 immune effector process
## GO:0002684 positive regulation of immune system process
## setSize enrichmentScore NES pvalue p.adjust
## GO:0002250 235 -0.6014781 -4.645400 1.975537e-53 1.372208e-50
## GO:0006958 90 -0.7708275 -4.903173 2.324708e-45 1.345618e-42
## GO:0006959 168 -0.6396969 -4.662382 4.599867e-45 2.282191e-42
## GO:0002455 93 -0.7564371 -4.877222 1.836898e-43 7.974432e-41
## GO:0002252 352 -0.4775634 -3.899240 3.071166e-43 1.185129e-40
## GO:0002684 339 -0.4831329 -3.920818 9.745108e-43 3.384476e-40
## qvalues rank leading_edge
## GO:0002250 8.679885e-51 1875 tags=80%, list=31%, signal=57%
## GO:0006958 8.511693e-43 1032 tags=88%, list=17%, signal=74%
## GO:0006959 1.443597e-42 1272 tags=71%, list=21%, signal=58%
## GO:0002455 5.044218e-41 1032 tags=85%, list=17%, signal=72%
## GO:0002252 7.496518e-41 2258 tags=74%, list=37%, signal=50%
## GO:0002684 2.140846e-40 1857 tags=65%, list=30%, signal=48%
## core_enrichment
## GO:0002250 IGLV5-37/IRF4/ZP3/SH2D1A/CD209/TFRC/CD7/LAX1/PYCARD/CD48/GATA3/CD79B/TNFRSF14/IRF1/CLEC10A/PDCD1/CD46/ITK/CCR2/C2/EXO1/TXK/CTLA4/CD28/CD80/CTSS/CD6/ALOX15/NFKBIZ/BATF/TRBC2/FGB/STAT6/CD1E/EMP2/LY9/TNFRSF13B/CD1C/BCL3/TRAT1/TRPM4/IGKV1D-43/TNFRSF11A/TRBV20-1/TEC/CD40LG/IGHD/SLAMF6/IGHV4-4/RIPK3/IGKV1D-8/TRAC/CD8B/IGKV2-29/IGKV2D-24/CRACR2A/CD3E/ZC3H12A/FZD5/IL7R/IGKV1D-17/CD55/CD79A/TNFRSF17/MCOLN2/FGA/CD70/CD3G/LAMP3/CXCL13/IGKV1-39/IGHV1-45/IGLV3-16/IGLV1-36/SIT1/TRBV28/IGHV3-35/IGKV6D-21/IGHV3-7/CD1A/CLC/IGKV1-12/SLAMF1/CD3D/IGKV5-2/IGHV2-70D/IGKV2-30/IGHV1-3/IGKV1D-13/IGHV6-1/IGLV9-49/SLAMF7/CR2/IGKV3D-15/IGHV3-20/IGKV3-7/IGLV4-60/C4BPA/IGHV3-64/IGLV1-51/IGKV3D-11/IGKV6-21/IGHV2-5/IL23R/BTNL8/IGHV1-58/IGHV2-70/IGLV3-27/IGLV5-45/IGLC7/IGHV7-81/IGHV3-43/SKAP1/IGKV1-8/IGHV3-66/IGHV3-13/IGLV2-18/FCAMR/IGKV2D-29/IGHV4-61/IGLV10-54/IGHV2-26/IGLV7-43/IGLV1-47/RORC/IGLV3-9/IGLV7-46/IGHV4-28/IGKV3D-20/IGHV1-69/IGHV3-53/C4BPB/IGHV1-24/IGHV3-73/IGKV2-24/IGHV3-72/IGLV8-61/IGHV3-48/IGKV1-27/IGLV3-10/IGLV1-44/IGHM/IGHV1-69D/IGKV1-6/IGHV3-33/IGKV1-17/IGLV2-8/IGHV3-15/IGLV4-69/IGHV4-34/IGKV1-16/IGHV3-49/IGLV6-57/IGHV3-74/IGHV3-11/IGHV3-21/IGHV3-30/IGKV1-9/IGHG3/IGLV1-40/IGHG4/IGHV4-59/IGLV2-11/IGLV3-25/IGLV3-19/IGKV3-15/IGLL5/IGHV1-18/IGLV2-23/IGHV4-39/IGLC3/IGHG1/IGLV2-14/IGHV5-51/IGLV3-21/JCHAIN/IGKC/IGHG2/IGHV3-23/IGLC2/IGKV3-20/CEACAM1/IGKV1-5/IGKV4-1/IGHA1/GCNT3/IGHA2
## GO:0006958 IGKV1-39/IGHV1-45/IGHV3-35/IGHV3-7/IGKV1-12/IGKV5-2/IGHV2-70D/IGKV2-30/IGHV1-3/IGHV6-1/CR2/IGHV3-20/C4BPA/IGHV3-64/IGLV1-51/IGKV3D-11/IGHV2-5/IGHV1-58/IGHV2-70/IGLV3-27/IGLC7/IGHV7-81/IGHV3-43/IGHV3-66/IGHV3-13/IGHV4-61/IGHV2-26/IGLV7-43/IGLV1-47/IGHV4-28/IGKV3D-20/IGHV1-69/IGHV3-53/C4BPB/IGHV1-24/IGHV3-73/IGHV3-72/IGHV3-48/IGLV1-44/IGHM/IGHV1-69D/IGHV3-33/IGKV1-17/IGLV2-8/IGHV3-15/IGHV4-34/IGKV1-16/IGHV3-49/IGLV6-57/IGHV3-74/IGHV3-11/IGHV3-21/IGHV3-30/IGHG3/IGLV1-40/IGHG4/IGHV4-59/IGLV2-11/IGLV3-25/IGLV3-19/IGKV3-15/IGLL5/IGHV1-18/IGLV2-23/IGHV4-39/IGLC3/IGHG1/IGLV2-14/IGHV5-51/IGLV3-21/IGKC/IGHG2/IGHV3-23/IGLC2/IGKV3-20/IGKV1-5/IGKV4-1/IGHA1/IGHA2
## GO:0006959 IGHD/CFB/KRT6A/IGHV4-4/SEMG1/KLK3/MS4A1/IGKV2-29/SLPI/ANG/CD55/FGA/CXCL10/CXCL6/CXCL13/IGKV1-39/IGHV1-45/WFDC2/IGHV3-35/CTSG/CXCL11/IGHV3-7/IGKV1-12/IGKV5-2/IGHV2-70D/IGKV2-30/SPON2/IGHV1-3/IGHV6-1/CXCL9/CXCL3/CXCL8/CR2/CCL13/IGHV3-20/C4BPA/IGHV3-64/IGLV1-51/IGKV3D-11/MNX1/IGHV2-5/IGHV1-58/PRSS3/IGHV2-70/IGLV3-27/IGLC7/DEFB1/LYZ/IGHV7-81/IGHV3-43/IGHV3-66/IGHV3-13/PRSS2/DEFA5/IGHV4-61/CXCL1/IGHV2-26/IGLV7-43/IGLV1-47/IGHV4-28/IGKV3D-20/IGHV1-69/DEFA6/REG1B/IGHV3-53/DMBT1/C4BPB/IGHV1-24/IGHV3-73/IGHV3-72/IGHV3-48/IGLV1-44/IGHM/IGHV1-69D/IGHV3-33/IGKV1-17/IGLV2-8/IGHV3-15/IGHV4-34/IGKV1-16/IGHV3-49/IGLV6-57/IGHV3-74/IGHV3-11/IGHV3-21/IGHV3-30/IGHG3/IGLV1-40/IGHG4/IGHV4-59/IGLV2-11/IGLV3-25/IGLV3-19/IGKV3-15/REG3A/IGLL5/IGHV1-18/IGLV2-23/IGHV4-39/IGLC3/IGHG1/IGLV2-14/IGHV5-51/IGLV3-21/PI3/JCHAIN/IGKC/IGHG2/IGHV3-23/IGLC2/ITLN1/IGKV3-20/IGKV1-5/IGKV4-1/IGHA1/REG1A/PLA2G2A/IGHA2/LCN2
## GO:0002455 IGKV1-39/IGHV1-45/IGHV3-35/IGHV3-7/IGKV1-12/IGKV5-2/IGHV2-70D/IGKV2-30/IGHV1-3/IGHV6-1/CR2/IGHV3-20/C4BPA/IGHV3-64/IGLV1-51/IGKV3D-11/IGHV2-5/IGHV1-58/IGHV2-70/IGLV3-27/IGLC7/IGHV7-81/IGHV3-43/IGHV3-66/IGHV3-13/IGHV4-61/IGHV2-26/IGLV7-43/IGLV1-47/IGHV4-28/IGKV3D-20/IGHV1-69/IGHV3-53/C4BPB/IGHV1-24/IGHV3-73/IGHV3-72/IGHV3-48/IGLV1-44/IGHM/IGHV1-69D/IGHV3-33/IGKV1-17/IGLV2-8/IGHV3-15/IGHV4-34/IGKV1-16/IGHV3-49/IGLV6-57/IGHV3-74/IGHV3-11/IGHV3-21/IGHV3-30/IGHG3/IGLV1-40/IGHG4/IGHV4-59/IGLV2-11/IGLV3-25/IGLV3-19/IGKV3-15/IGLL5/IGHV1-18/IGLV2-23/IGHV4-39/IGLC3/IGHG1/IGLV2-14/IGHV5-51/IGLV3-21/IGKC/IGHG2/IGHV3-23/IGLC2/IGKV3-20/IGKV1-5/IGKV4-1/IGHA1/IGHA2
## GO:0002252 MYO1G/CGAS/IL18RAP/IQGAP2/IQGAP1/CLCF1/RAB3D/GFUS/HLA-F/KIR2DL4/ARPC1B/TMBIM1/ADORA2B/SYK/F2/CD247/RAB27A/IL4R/PLSCR1/FCN1/CFD/CD8A/ACE/TNFAIP3/IFNLR1/TTR/FUCA1/STAP1/HEBP2/CANT1/PPBP/IL6/PGC/CTSC/ADGRE3/TCIRG1/S100A9/TXNDC5/ZNF683/APOBEC3A/APOBEC3D/EOMES/PRF1/DNASE1L3/IRF4/ZP3/CYBA/SH2D1A/CDA/TFRC/MVP/GSDMD/PYCARD/IL15/B4GALT1/GATA3/TNFRSF14/IRF1/MYO1C/GGH/CD46/ISG20/CCR2/OASL/C2/VNN1/RAC2/FABP5/EXO1/VAMP8/CD28/CD80/CTSS/MME/STXBP2/MLKL/NFKBIZ/BATF/OAS1/TRBC2/APOBEC3B/STAT6/IFI27/CD1E/NOS2/EMP2/ENPP3/POU2AF1/LY9/ZBP1/PLAU/CD1C/BCL3/NBEAL2/ADGRE5/IFITM1/CPN1/FFAR2/SPINK5/FCRL3/ULBP3/PKP1/PTPN22/TRPM4/CD96/PLA2G3/CD40LG/CNN2/MCEMP1/IGHD/ACP3/CFB/BIRC3/SLAMF6/PTGER4/PLAUR/IGHV4-4/RIPK3/S100A11/IGKV2-29/SERPINA1/CRACR2A/SLPI/ZC3H12A/FZD5/IL7R/CD55/AGPAT2/CD70/SERPINB1/CD3G/CXCL10/CXCL6/IGKV1-39/IGHV1-45/ANPEP/ANXA2/IGHV3-35/CTSG/IGHV3-7/PLA2G10/CD1A/CLC/CEACAM3/IGKV1-12/SLAMF1/IGKV5-2/IGHV2-70D/JUP/IGKV2-30/SPON2/IGHV1-3/IL2RA/FRK/VAV3/IGHV6-1/F2RL1/CXCL9/SLAMF7/GZMB/LGALS3/CR2/IGHV3-20/ANXA3/PLAC8/MZB1/C4BPA/IGHV3-64/IGLV1-51/IGKV3D-11/IGHV2-5/MMP9/IL23R/IGHV1-58/PRSS3/IGHV2-70/CD177/IGLV3-27/IGLC7/LYZ/IGHV7-81/IGHV3-43/DSP/IGHV3-66/LRG1/IGHV3-13/PRSS2/IGHV4-61/CXCL1/IGHV2-26/IGLV7-43/IGLV1-47/RORC/TCN1/IGHV4-28/IGKV3D-20/IGHV1-69/SLC27A2/IGHV3-53/DMBT1/C4BPB/IGHV1-24/IGHV3-73/IGHV3-72/PCK1/IGHV3-48/IGLV1-44/IGHM/IGHV1-69D/MYB/IGHV3-33/IGKV1-17/IGLV2-8/IGHV3-15/IGHV4-34/IGKV1-16/IGHV3-49/NKX2-3/IGLV6-57/IGHV3-74/IGHV3-11/IGHV3-21/IGHV3-30/IGHG3/APOBEC1/IGLV1-40/IGHG4/IGHV4-59/IGLV2-11/OLFM4/IGLV3-25/IGLV3-19/IGKV3-15/IGLL5/IGHV1-18/IGLV2-23/IGHV4-39/IGLC3/IGHG1/IGLV2-14/IGHV5-51/IGLV3-21/IGKC/IGHG2/IGHV3-23/IGLC2/IGKV3-20/CEACAM1/IGKV1-5/S100P/IGKV4-1/IGHA1/GCNT3/MMP12/IGHA2/AOC1/TRIM15/CDH17/PIGR/LCN2/CEACAM6
## GO:0002684 ZP3/CXCL14/SH2D1A/CD209/RUNX1/TFRC/LAX1/PYCARD/PLVAP/IL15/GBP5/GATA3/CD79B/TNFRSF14/MYO1C/CLEC10A/PDCD1/CD46/INHBA/ITK/CASP8/CCR2/C2/VNN1/TNFRSF18/RAC2/TXK/CTLA4/VAMP8/CD28/CD80/PF4/CD6/IL1RL2/STXBP2/NFKBIZ/CCL5/TRBC2/CCR7/PYHIN1/STAT6/ITGA2/CD1E/NOS2/CXCL17/ENPP3/RHEX/ZBP1/CD1C/ROR2/IL7/TRAT1/RARRES2/CPN1/FFAR2/FCRL3/PTPN22/CD24/PLA2G3/TEC/CD40LG/PAWR/IGHD/HAVCR1/CFB/SLAMF6/CSF3/IGHV4-4/AQP3/SPACA3/HCAR2/CD5/MS4A1/TRAC/IGKV2-29/FUT4/SHH/CD3E/ZC3H12A/FZD5/IL7R/CD55/CD79A/CD70/UBASH3A/SELE/CD3G/CXCL10/CXCL13/IGKV1-39/IGHV1-45/GCSAM/SIRPG/IGHV3-35/MUC1/CTSG/IGHV3-7/CD2/CD1A/IGKV1-12/MUC20/LCK/CD3D/IGKV5-2/IGHV2-70D/IGKV2-30/LIF/SPON2/IGHV1-3/IL2RA/ICOS/SELP/VAV3/IGHV6-1/THBS1/F2RL1/BDKRB1/DPP4/EDN2/CXCL8/LGALS3/CR2/IGHV3-20/MZB1/C4BPA/MUC4/IGHV3-64/IGLV1-51/IGKV3D-11/IGHV2-5/IL23R/BTNL8/IGHV1-58/IGHV2-70/CD177/IGLV3-27/IGLC7/IGHV7-81/IGHV3-43/SKAP1/IGHV3-66/IGHV3-13/KCNN4/IGHV4-61/HOXA5/IGHV2-26/IGLV7-43/IGLV1-47/IGHV4-28/IGKV3D-20/IGHV1-69/IDO1/MUC5AC/TNFSF11/IGHV3-53/C4BPB/IGHV1-24/IGHV3-73/IGHV3-72/PCK1/MUC12/IGHV3-48/CCL21/IGLV1-44/HHLA2/IGHM/IGHV1-69D/MYB/IGHV3-33/IGKV1-17/IGLV2-8/IGHV3-15/IGHV4-34/IGKV1-16/IGHV3-49/IGLV6-57/IGHV3-74/IGHV3-11/IGHV3-21/BTNL3/IGHV3-30/IGHG3/IGLV1-40/CCL20/IGHG4/IGHV4-59/IGLV2-11/IGLV3-25/EREG/IGLV3-19/IGKV3-15/IGLL5/IGHV1-18/IGLV2-23/IGHV4-39/IGLC3/IGHG1/IGLV2-14/IGHV5-51/IGLV3-21/IGKC/IGHG2/IGHV3-23/IGLC2/IGKV3-20/CEACAM1/IGKV1-5/MUC17/MUC5B/IGKV4-1/S100A14/IGHA1/CCL24/IHH/MMP12/MUC3A/IGHA2/TRIM15/MUC13/MUC2
ggo.lgg.dn <- id.table(ggo.lgg.dn)
## to collect all functional analysis results
fa.DEA1 <- rbind(fa.DEA1,
setNames(ggo.gbm.up[,keep.colums.gsea], names(fa.DEA1)),
setNames(ggo.gbm.dn[,keep.colums.gsea],names(fa.DEA1)),
setNames(ggo.lgg.up[,keep.colums.gsea],names(fa.DEA1)),
setNames(ggo.lgg.dn[,keep.colums.gsea],names(fa.DEA1)))
Similar procedure was done with the KEGG database. In this case the functions are enrichKEGG and gseKEGG for ORA and GSEA analysis, respectively.
### GBM
# ORA KEGG up
ekg.gbm.up <- enrichKEGG(gene = names(gbm.up.gene),
organism = "hsa",
pAdjustMethod = "BH",
universe = names(gbm.all.gene),
pvalueCutoff = 0.05)
ekg.gbm.up <- setReadable(ekg.gbm.up, org.Hs.eg.db, keyType = "ENTREZID")
head(ekg.gbm.up)
## ID Description GeneRatio BgRatio
## hsa04080 hsa04080 Neuroactive ligand-receptor interaction 84/779 243/6694
## hsa05033 hsa05033 Nicotine addiction 23/779 35/6694
## hsa04727 hsa04727 GABAergic synapse 34/779 82/6694
## hsa04724 hsa04724 Glutamatergic synapse 40/779 111/6694
## hsa05032 hsa05032 Morphine addiction 32/779 84/6694
## hsa04721 hsa04721 Synaptic vesicle cycle 26/779 72/6694
## pvalue p.adjust qvalue
## hsa04080 7.136095e-22 2.197917e-19 1.968060e-19
## hsa05033 5.141718e-14 7.918245e-12 7.090158e-12
## hsa04727 4.687509e-12 4.812509e-10 4.309219e-10
## hsa04724 1.267195e-11 9.757401e-10 8.736976e-10
## hsa05032 2.831153e-10 1.743990e-08 1.561604e-08
## hsa04721 4.938567e-08 2.535131e-06 2.270008e-06
## geneID
## hsa04080 ADCYAP1R1/GRIA2/GRIA1/GRIA3/GABBR2/NTSR2/GRID2/GRIA4/GRIK3/CNR1/GRM3/CHRNA9/PDYN/GABRA1/GALR1/GRIK4/GRIK5/TRH/CHRNA4/GRIK2/GRIK1/GABRG1/GABRA5/MCHR1/GABRQ/GABRG2/ADORA1/CCK/NPY/GABRA3/CRHR1/GRIN2A/CHRNB2/GLRB/AGT/HRH3/NPY2R/GRM5/GPR156/P2RX6/GRID1/GRM1/EDNRB/CCKBR/PTH1R/APLN/GABRB3/ADRA1A/HTR5A/GABRG3/P2RX7/GRM6/GLRA3/OPRL1/LPAR4/ADRA1D/NMB/FPR1/ADRA1B/PENK/GABRB1/GHRHR/OPRK1/TACR1/OXTR/GABBR1/APLNR/LPAR1/VIPR2/C3/CHRNA2/SST/GRIN2C/CRH/S1PR3/CYSLTR2/SSTR2/GRM2/TSHR/PTH2R/GRM7/P2RY13/NR3C1/S1PR1
## hsa05033 GRIA2/GRIA1/GRIA3/GRIA4/GABRA1/CHRNA4/GABRG1/GABRA5/SLC17A7/GABRQ/GABRG2/SLC32A1/GABRA3/GRIN2A/CHRNB2/SLC17A6/CACNA1A/GABRB3/GABRG3/SLC17A8/GABRB1/CACNA1B/GRIN2C
## hsa04727 ADCY8/SLC6A11/GABBR2/SLC38A3/GABRA1/GAD2/SLC6A1/HAP1/GABRG1/ADCY2/GABRA5/GABRQ/GABRG2/SLC32A1/GABRA3/GNAO1/GNG7/SLC12A5/GNG3/CACNA1A/KCNJ6/SLC6A13/GABRB3/GABRG3/ADCY1/GAD1/GNG2/ABAT/GABRB1/GABBR1/CACNA1B/GNB4/GNG8/SLC6A12
## hsa04724 SLC1A2/GRIA2/ADCY8/GRIA1/SLC1A3/GRIA3/GRIA4/GRIK3/GRM3/SLC38A3/GRIK4/GRIK5/GRIK2/GRIK1/DLGAP1/ADCY2/SLC17A7/GNAO1/GRIN2A/GNG7/SLC17A6/GNG3/SLC1A6/GRM5/CACNA1A/SHANK1/GRM1/GRM6/SLC17A8/DLG4/ADCY1/HOMER2/GNG2/TRPC1/GRIN2C/GNB4/GRM2/GRM7/GNG8/HOMER3
## hsa05032 ADCY8/GABBR2/GABRA1/KCNJ9/GABRG1/ADCY2/GABRA5/GABRQ/GABRG2/ADORA1/SLC32A1/GABRA3/GNAO1/GNG7/GNG3/CACNA1A/KCNJ6/GABRB3/GABRG3/PDE1C/PDE4B/ADCY1/PDE8B/GNG2/PDE7B/GABRB1/GABBR1/KCNJ5/CACNA1B/GNB4/PDE1B/GNG8
## hsa04721 SLC1A2/SLC6A11/SLC1A3/SNAP25/ATP6V1G2/SLC6A1/SLC17A7/SLC32A1/SLC17A6/RIMS1/STX1B/UNC13A/SLC1A6/UNC13C/CACNA1A/SLC6A13/CPLX2/ATP6V0E2/SLC17A8/ATP6V1B1/CACNA1B/DNM3/SYT1/RAB3A/DNM1/SLC6A12
## Count
## hsa04080 84
## hsa05033 23
## hsa04727 34
## hsa04724 40
## hsa05032 32
## hsa04721 26
ekg.gbm.up <- id.table(ekg.gbm.up)
# ORA KEGG down
ekg.gbm.dn <- enrichKEGG(gene = names(gbm.dn.gene),
organism = "hsa",
pAdjustMethod = "BH",
universe = names(gbm.all.gene),
pvalueCutoff = 0.05)
ekg.gbm.dn <- setReadable(ekg.gbm.dn, org.Hs.eg.db, keyType = "ENTREZID")
head(ekg.gbm.dn)
## ID Description
## hsa04060 hsa04060 Cytokine-cytokine receptor interaction
## hsa00980 hsa00980 Metabolism of xenobiotics by cytochrome P450
## hsa00830 hsa00830 Retinol metabolism
## hsa00982 hsa00982 Drug metabolism - cytochrome P450
## hsa04974 hsa04974 Protein digestion and absorption
## hsa04061 hsa04061 Viral protein interaction with cytokine and cytokine receptor
## GeneRatio BgRatio pvalue p.adjust qvalue
## hsa04060 53/605 214/6694 3.624495e-12 1.090973e-09 9.271077e-10
## hsa00980 22/605 54/6694 3.638862e-10 5.476487e-08 4.653912e-08
## hsa00830 20/605 48/6694 1.447694e-09 1.452519e-07 1.234349e-07
## hsa00982 20/605 49/6694 2.242416e-09 1.515322e-07 1.287719e-07
## hsa04974 27/605 85/6694 2.647101e-09 1.515322e-07 1.287719e-07
## hsa04061 26/605 80/6694 3.020575e-09 1.515322e-07 1.287719e-07
## geneID
## hsa04060 IL7R/TNFSF9/IL2RB/XCR1/IL1R2/CCR4/CD40LG/TNFSF10/TNFRSF9/FASLG/LTB/ACVR1C/CXCL13/IL15RA/CXCL9/LTBR/CXCR6/PF4/TNFRSF11A/CCL19/INHBA/CCL22/IL1RL2/CXCL17/CCL14/CSF2/TNFRSF13B/IL32/CCL13/CCL18/TNFRSF10A/GDF15/TNFRSF17/CXCL3/BMP3/BMP4/IL20RA/CXCR3/IL17RE/IL2RG/TNFSF15/IL23R/CXCL1/CCL20/TNFSF11/CCL28/PRLR/EDAR/CCL11/CCL15/CCL21/IL22RA1/CCL24
## hsa00980 ALDH3A1/ADH4/SULT2A1/ADH1B/GSTO2/UGT1A1/GSTA1/AKR7A3/CYP2C9/CYP3A5/ADH6/ALDH3B2/UGT1A8/CYP2S1/UGT1A6/UGT2B7/UGT2B15/UGT2B17/UGT1A10/ADH1C/UGT2A3/CYP2B6
## hsa00830 ALDH1A3/ADH4/ADH1B/UGT1A1/CYP2C9/CYP3A5/ADH6/SDR16C5/UGT1A8/CYP2S1/UGT1A6/UGT2B7/CYP2C18/UGT2B15/UGT2B17/CYP2W1/UGT1A10/ADH1C/UGT2A3/CYP2B6
## hsa00982 FMO5/ALDH3A1/ADH4/ADH1B/GSTO2/UGT1A1/GSTA1/CYP2C9/CYP3A5/ADH6/ALDH3B2/UGT1A8/UGT1A6/UGT2B7/UGT2B15/UGT2B17/UGT1A10/ADH1C/UGT2A3/CYP2B6
## hsa04974 ATP1B1/DPP4/XPNPEP2/KCNE3/COL3A1/COL1A1/MME/SLC1A5/MEP1B/COL15A1/KCNQ1/COL6A3/COL12A1/SLC9A3/PRSS1/SLC6A19/SLC15A1/KCNN4/COL10A1/SLC3A1/CPA3/PRSS3/PRSS2/KCNK5/ACE2/COL17A1/MEP1A
## hsa04061 IL2RB/XCR1/CCR4/TNFSF10/CXCL13/CXCL9/LTBR/PF4/CCL19/CCL22/CCL14/CCL13/CCL18/TNFRSF10A/CXCL3/IL20RA/CXCR3/IL2RG/CXCL1/CCL20/CCL28/CCL11/CCL15/CCL21/IL22RA1/CCL24
## Count
## hsa04060 53
## hsa00980 22
## hsa00830 20
## hsa00982 20
## hsa04974 27
## hsa04061 26
ekg.gbm.dn <- id.table(ekg.gbm.dn)
### LGG
# ORA KEGG up
ekg.lgg.up <- enrichKEGG(gene = names(lgg.up.gene),
organism = "hsa",
pAdjustMethod = "BH",
universe = names(lgg.all.gene),
pvalueCutoff = 0.05)
ekg.lgg.up <- setReadable(ekg.lgg.up, org.Hs.eg.db, keyType = "ENTREZID")
head(ekg.lgg.up)
## ID Description GeneRatio BgRatio
## hsa04080 hsa04080 Neuroactive ligand-receptor interaction 107/920 243/6694
## hsa04727 hsa04727 GABAergic synapse 46/920 82/6694
## hsa05033 hsa05033 Nicotine addiction 28/920 35/6694
## hsa04724 hsa04724 Glutamatergic synapse 52/920 111/6694
## hsa05032 hsa05032 Morphine addiction 43/920 84/6694
## hsa04713 hsa04713 Circadian entrainment 39/920 90/6694
## pvalue p.adjust qvalue
## hsa04080 4.878270e-32 1.507385e-29 1.278620e-29
## hsa04727 1.357108e-19 2.096732e-17 1.778526e-17
## hsa05033 1.313151e-18 1.352545e-16 1.147279e-16
## hsa04724 2.002238e-17 1.546729e-15 1.311993e-15
## hsa05032 2.085241e-16 1.288679e-14 1.093105e-14
## hsa04713 4.862199e-12 2.504033e-10 2.124013e-10
## geneID
## hsa04080 GRIA2/ADCYAP1R1/GRIA1/GABBR2/GABRG1/GRIA4/GRID2/NTSR2/GRIA3/CHRNA4/GRM3/GABRA1/GABRG2/GRIK4/GABRA3/GRIK3/PRLHR/GRIK2/HRH3/GABRA5/GLRA3/CRHR1/GABRB3/GRIN2A/GRM5/GRIK5/PDYN/GALR1/NPY/CHRNB2/CCK/CNR1/GABRQ/ADRA1A/GRM1/VIPR2/P2RX6/GRID1/GLRB/TRH/GABBR1/CCKBR/HTR5A/HTR2C/GABRG3/HTR1A/ADORA1/EDNRB/P2RX7/AGT/SSTR2/PTH1R/MCHR1/GABRB1/GRIK1/GRIN2C/TSHR/GRIN1/TACR1/GHRHR/LPAR4/SST/HTR2A/OPRK1/GABRB2/CHRNA2/CRH/OPRL1/GABRD/GRM6/GABRA4/GLP1R/ADRA1B/PENK/NMB/CHRM1/CHRM4/GRM7/GRM2/PTH2R/MAS1/S1PR1/MC4R/CALCRL/HTR1E/GPR156/GRIN3A/NPY2R/APLN/S1PR5/MCHR2/GPR83/NR3C1/GRM4/P2RY13/ADRB2/THRA/UCN/CHRNA9/ADRA1D/ADRB1/RXFP1/OPRD1/CYSLTR2/THRB/APLNR/CORT
## hsa04727 ADCY8/GABBR2/GABRG1/SLC6A11/GABRA1/SLC6A1/GABRG2/GABRA3/GAD2/SLC38A3/ADCY2/GABRA5/GABRB3/GNAO1/SLC32A1/GABRQ/HAP1/SLC12A5/CACNA1A/SLC6A13/GNG7/CACNA1B/GAD1/GABBR1/GNG3/GABRG3/GABRB1/KCNJ6/ABAT/ADCY1/GABRB2/GABRD/GABRA4/ADCY5/PLCL1/PRKCB/GNG2/PRKCG/GNG8/SLC6A12/GNB4/GNG4/PRKCA/GNB3/GLUL/GABARAPL1
## hsa05033 GRIA2/GRIA1/GABRG1/GRIA4/GRIA3/CHRNA4/GABRA1/GABRG2/GABRA3/GABRA5/SLC17A7/GABRB3/GRIN2A/SLC32A1/CHRNB2/GABRQ/CACNA1A/SLC17A6/CACNA1B/GABRG3/SLC17A8/GABRB1/GRIN2C/GRIN1/GABRB2/GABRD/GABRA4/GRIN3A
## hsa04724 GRIA2/SLC1A2/ADCY8/GRIA1/GRIA4/GRIA3/GRM3/SLC1A3/DLGAP1/GRIK4/GRIK3/SLC1A6/SLC38A3/GRIK2/ADCY2/SLC17A7/GNAO1/GRIN2A/GRM5/GRIK5/CACNA1A/SHANK1/GRM1/SLC17A6/GNG7/GNG3/SLC17A8/GRIK1/GRIN2C/GRIN1/DLG4/ADCY1/GRM6/HOMER2/ADCY5/PRKCB/GNG2/TRPC1/GRM7/GRM2/PRKCG/GNG8/GRIN3A/PLA2G4C/KCNJ3/GNB4/GRM4/PLCB1/GNG4/PRKCA/GNB3/GLUL
## hsa05032 ADCY8/GABBR2/GABRG1/KCNJ9/GABRA1/GABRG2/GABRA3/ADCY2/GABRA5/GABRB3/GNAO1/SLC32A1/GABRQ/CACNA1A/GNG7/CACNA1B/GABBR1/GNG3/GABRG3/ADORA1/GABRB1/KCNJ6/PDE8B/PDE2A/ADCY1/GABRB2/GABRD/GABRA4/ADCY5/PRKCB/GNG2/PDE4B/PDE1C/PRKCG/PDE1B/GNG8/KCNJ5/PDE7B/KCNJ3/GNB4/GNG4/PRKCA/GNB3
## hsa04713 GRIA2/ADCYAP1R1/ADCY8/GRIA1/GRIA4/GRIA3/KCNJ9/CAMK2B/ADCY2/CAMK2A/GNAO1/GRIN2A/RYR1/CACNA1G/GNG7/GNG3/GRIN2C/KCNJ6/NOS1/GRIN1/GUCY1A2/CACNA1I/ADCY1/RASD1/ADCY5/PRKCB/GNG2/PRKCG/RYR3/GNG8/KCNJ5/KCNJ3/GNB4/PER1/PLCB1/GNG4/PRKCA/GNB3/PER3
## Count
## hsa04080 107
## hsa04727 46
## hsa05033 28
## hsa04724 52
## hsa05032 43
## hsa04713 39
ekg.lgg.up <- id.table(ekg.lgg.up)
# ORA KEGG down
ekg.lgg.dn <- enrichKEGG(gene = names(lgg.dn.gene),
organism = "hsa",
pAdjustMethod = "BH",
universe = names(lgg.all.gene),
pvalueCutoff = 0.05)
ekg.lgg.dn <- setReadable(ekg.lgg.dn, org.Hs.eg.db, keyType = "ENTREZID")
head(ekg.lgg.dn)
## ID Description
## hsa04060 hsa04060 Cytokine-cytokine receptor interaction
## hsa04061 hsa04061 Viral protein interaction with cytokine and cytokine receptor
## hsa04974 hsa04974 Protein digestion and absorption
## hsa04640 hsa04640 Hematopoietic cell lineage
## hsa04950 hsa04950 Maturity onset diabetes of the young
## hsa00980 hsa00980 Metabolism of xenobiotics by cytochrome P450
## GeneRatio BgRatio pvalue p.adjust qvalue
## hsa04060 86/940 214/6694 7.502047e-22 2.385651e-19 2.005811e-19
## hsa04061 44/940 80/6694 5.665166e-18 9.007614e-16 7.573433e-16
## hsa04974 35/940 85/6694 6.240670e-10 6.615110e-08 5.561860e-08
## hsa04640 31/940 81/6694 4.712055e-08 3.746084e-06 3.149637e-06
## hsa04950 12/940 19/6694 1.069677e-06 6.497671e-05 5.463119e-05
## hsa00980 22/940 54/6694 1.225976e-06 6.497671e-05 5.463119e-05
## geneID
## hsa04060 ACVRL1/TNFSF9/IL18R1/CD27/TNFRSF10D/TNFRSF4/IL18RAP/CXCL2/CLCF1/CCL26/IL4R/IFNLR1/PPBP/IL6/TNFSF14/TNFRSF12A/CXCL14/LTB/IL15/TNFRSF14/IL24/INHBA/CCR2/TNFRSF18/BMP3/PF4/BMP4/IL1RL2/CCL5/CCR7/IL15RA/TNFSF10/CXCL17/TNFRSF11B/TNFRSF13B/CCL22/IL7/LTBR/XCR1/TNFRSF11A/CD40LG/CSF3/FASLG/CCL14/BMP5/TNFRSF9/IL7R/TNFRSF17/IL2RB/CD70/TNFRSF10A/CXCL10/CXCL6/CXCL13/CCR4/CXCL11/IL17RE/CXCR6/IL1RN/IL20RA/CSF2/LIF/IL2RA/IL1R2/IL32/CXCL9/CXCL3/CXCL8/CCL13/EDAR/IL2RG/IL23R/PRLR/CCL28/TNFSF15/CXCR3/CXCL1/CCL18/TNFSF11/CCL21/GDF15/CCL11/CCL15/CCL20/IL22RA1/CCL24
## hsa04061 IL18R1/TNFRSF10D/IL18RAP/CXCL2/CCL26/PPBP/IL6/TNFSF14/CXCL14/TNFRSF14/IL24/CCR2/PF4/CCL5/CCR7/TNFSF10/CCL22/LTBR/XCR1/CCL14/IL2RB/TNFRSF10A/CXCL10/CXCL6/CXCL13/CCR4/CXCL11/IL20RA/IL2RA/CXCL9/CXCL3/CXCL8/CCL13/IL2RG/CCL28/CXCR3/CXCL1/CCL18/CCL21/CCL11/CCL15/CCL20/IL22RA1/CCL24
## hsa04974 ATP1A1/COL14A1/COL4A2/SLC9A3/COL4A1/COL5A2/MME/XPNPEP2/MEP1B/PRSS1/COL8A1/KCNQ1/COL6A2/SLC1A5/KCNE3/SLC6A19/COL12A1/COL10A1/SLC3A1/COL1A2/DPP4/COL15A1/COL5A1/PRSS3/SLC15A1/KCNN4/PRSS2/COL3A1/COL1A1/COL6A3/ACE2/CPA3/COL17A1/MEP1A/KCNK5
## hsa04640 ITGA1/CD19/ITGA3/IL4R/CD8A/ITGA6/IL6/TFRC/CD7/MME/ITGA2/CD1E/CD1C/IL7/CD24/CSF3/CD5/MS4A1/CD8B/CD3E/IL7R/CD55/CD3G/ANPEP/CD2/CD1A/CSF2/CD3D/IL2RA/IL1R2/CR2
## hsa04950 HES1/BHLHA15/PKLR/NR5A2/HNF4G/MNX1/HNF1B/HNF1A/PDX1/FOXA3/FOXA2/HNF4A
## hsa00980 GSTO2/MGST2/SULT2A1/ADH4/UGT1A1/ALDH3A1/GSTA1/CYP2C9/AKR7A3/CYP3A5/ADH6/ALDH3B2/UGT1A8/UGT1A6/CYP2S1/UGT2B7/UGT2B15/UGT2B17/UGT1A10/ADH1C/UGT2A3/CYP2B6
## Count
## hsa04060 86
## hsa04061 44
## hsa04974 35
## hsa04640 31
## hsa04950 12
## hsa00980 22
ekg.lgg.dn <- id.table(ekg.lgg.dn)
## to collect all functional analysis results
fa.DEA1 <- rbind(fa.DEA1,
ekg.gbm.up[,keep.colums.enricher],
ekg.gbm.dn[,keep.colums.enricher],
ekg.lgg.up[,keep.colums.enricher],
ekg.lgg.dn[,keep.colums.enricher])
set.seed(1234567)
##GBM
#GSEA in KEGG
gkg.gbm <- gseKEGG(geneList = c(gbm.up.gene,
gbm.dn.gene),
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
verbose = FALSE
)
## Warning in preparePathwaysAndStats(pathways, stats, minSize, maxSize,
## gseaParam, : There are duplicate gene names, fgsea may produce unexpected
## results.
gkg.gbm <- setReadable(gkg.gbm, 'org.Hs.eg.db', 'ENTREZID')
#gbm gsea kegg up
gkg.gbm.up <- gkg.gbm[which(gkg.gbm$NES > 1),]
head(gkg.gbm.up)
## ID Description setSize enrichmentScore
## hsa05033 hsa05033 Nicotine addiction 25 0.5951441
## hsa04723 hsa04723 Retrograde endocannabinoid signaling 45 0.4655780
## hsa04724 hsa04724 Glutamatergic synapse 48 0.4576234
## hsa04727 hsa04727 GABAergic synapse 37 0.4923377
## hsa04024 hsa04024 cAMP signaling pathway 57 0.4063099
## hsa04721 hsa04721 Synaptic vesicle cycle 27 0.4985965
## NES pvalue p.adjust qvalues rank
## hsa05033 2.681098 1.417826e-06 9.535933e-05 7.221783e-05 790
## hsa04723 2.504622 2.157451e-06 9.535933e-05 7.221783e-05 1275
## hsa04724 2.535382 3.916867e-06 1.364446e-04 1.033327e-04 1205
## hsa04727 2.490467 5.509900e-06 1.522110e-04 1.152729e-04 1275
## hsa04024 2.367324 1.478718e-05 3.267967e-04 2.474907e-04 806
## hsa04721 2.300904 1.363194e-04 1.673699e-03 1.267531e-03 1612
## leading_edge
## hsa05033 tags=64%, list=16%, signal=54%
## hsa04723 tags=60%, list=26%, signal=45%
## hsa04724 tags=56%, list=25%, signal=43%
## hsa04727 tags=62%, list=26%, signal=46%
## hsa04024 tags=39%, list=17%, signal=33%
## hsa04721 tags=70%, list=33%, signal=47%
## core_enrichment
## hsa05033 GRIA2/GRIA1/GRIA3/GRIA4/GABRA1/CHRNA4/GABRG1/GABRA5/SLC17A7/GABRQ/GABRG2/SLC32A1/GABRA3/GRIN2A/CHRNB2/SLC17A6
## hsa04723 GRIA2/ADCY8/GRIA1/GRIA3/GRIA4/CNR1/GABRA1/KCNJ9/GABRG1/ADCY2/GABRA5/SLC17A7/GABRQ/GABRG2/SLC32A1/GABRA3/GNAO1/MAPK10/GNG7/SLC17A6/RIMS1/GNG3/GRM5/CACNA1A/KCNJ6/GRM1/GABRB3
## hsa04724 SLC1A2/GRIA2/ADCY8/GRIA1/SLC1A3/GRIA3/GRIA4/GRIK3/GRM3/SLC38A3/GRIK4/GRIK5/GRIK2/GRIK1/DLGAP1/ADCY2/SLC17A7/GNAO1/GRIN2A/GNG7/SLC17A6/GNG3/SLC1A6/GRM5/CACNA1A/SHANK1/GRM1
## hsa04727 ADCY8/SLC6A11/GABBR2/SLC38A3/GABRA1/GAD2/SLC6A1/HAP1/GABRG1/ADCY2/GABRA5/GABRQ/GABRG2/SLC32A1/GABRA3/GNAO1/GNG7/SLC12A5/GNG3/CACNA1A/KCNJ6/SLC6A13/GABRB3
## hsa04024 ADCYAP1R1/GRIA2/ADCY8/ATP1B2/GRIA1/ATP1A2/ATP2B2/GRIA3/GABBR2/GRIA4/CAMK2B/CNGA3/CAMK2A/ADCY2/ADORA1/HCN2/NPY/GRIN2A/MAPK10/ATP2B3/NPPA/ATP1A3
## hsa04721 SLC1A2/SLC6A11/SLC1A3/SNAP25/ATP6V1G2/SLC6A1/SLC17A7/SLC32A1/SLC17A6/RIMS1/STX1B/UNC13A/SLC1A6/UNC13C/CACNA1A/SLC6A13/CPLX2/ATP6V0E2/SLC17A8
gkg.gbm.up <- id.table(gkg.gbm.up)
#gbm gsea kegg down
gkg.gbm.dn <- gkg.gbm[which(gkg.gbm$NES < -1),]
head(gkg.gbm.dn)
## ID Description
## hsa00830 hsa00830 Retinol metabolism
## hsa04061 hsa04061 Viral protein interaction with cytokine and cytokine receptor
## hsa00140 hsa00140 Steroid hormone biosynthesis
## hsa00980 hsa00980 Metabolism of xenobiotics by cytochrome P450
## hsa00040 hsa00040 Pentose and glucuronate interconversions
## hsa04060 hsa04060 Cytokine-cytokine receptor interaction
## setSize enrichmentScore NES pvalue p.adjust
## hsa00830 22 -0.6563215 -2.851967 3.363806e-07 7.434010e-05
## hsa04061 29 -0.5727929 -2.779940 1.545539e-06 9.535933e-05
## hsa00140 19 -0.6621634 -2.703281 1.812754e-06 9.535933e-05
## hsa00980 30 -0.5430141 -2.662410 4.321775e-06 1.364446e-04
## hsa00040 11 -0.7493302 -2.537540 1.451143e-05 3.267967e-04
## hsa04060 75 -0.3756548 -2.357423 1.689889e-05 3.395141e-04
## qvalues rank leading_edge
## hsa00830 5.629948e-05 748 tags=77%, list=15%, signal=66%
## hsa04061 7.221783e-05 1669 tags=90%, list=35%, signal=59%
## hsa00140 7.221783e-05 915 tags=74%, list=19%, signal=60%
## hsa00980 1.033327e-04 1020 tags=60%, list=21%, signal=48%
## hsa00040 2.474907e-04 505 tags=82%, list=10%, signal=73%
## hsa04060 2.571219e-04 1678 tags=71%, list=35%, signal=47%
## core_enrichment
## hsa00830 UGT1A1/CYP2C9/CYP3A5/ADH6/SDR16C5/UGT1A8/CYP2S1/UGT1A6/UGT2B7/CYP2C18/UGT2B15/UGT2B17/CYP2W1/UGT1A10/ADH1C/UGT2A3/CYP2B6
## hsa04061 IL2RB/XCR1/CCR4/TNFSF10/CXCL13/CXCL9/LTBR/PF4/CCL19/CCL22/CCL14/CCL13/CCL18/TNFRSF10A/CXCL3/IL20RA/CXCR3/IL2RG/CXCL1/CCL20/CCL28/CCL11/CCL15/CCL21/IL22RA1/CCL24
## hsa00140 HSD3B1/UGT1A1/AKR1C4/CYP3A5/SULT2B1/UGT1A8/HSD11B2/UGT1A6/UGT2B7/UGT2B15/UGT2B17/UGT1A10/HSD17B2/UGT2A3
## hsa00980 GSTO2/UGT1A1/GSTA1/AKR7A3/CYP2C9/CYP3A5/ADH6/ALDH3B2/UGT1A8/CYP2S1/UGT1A6/UGT2B7/UGT2B15/UGT2B17/UGT1A10/ADH1C/UGT2A3/CYP2B6
## hsa00040 UGT1A1/UGT1A8/AKR1B10/UGT1A6/UGT2B7/UGT2B15/UGT2B17/UGT1A10/UGT2A3
## hsa04060 IL7R/TNFSF9/IL2RB/XCR1/IL1R2/CCR4/CD40LG/TNFSF10/TNFRSF9/FASLG/LTB/ACVR1C/CXCL13/IL15RA/CXCL9/LTBR/CXCR6/PF4/TNFRSF11A/CCL19/INHBA/CCL22/IL1RL2/CXCL17/CCL14/CSF2/TNFRSF13B/IL32/CCL13/CCL18/TNFRSF10A/GDF15/TNFRSF17/CXCL3/BMP3/BMP4/IL20RA/CXCR3/IL17RE/IL2RG/TNFSF15/IL23R/CXCL1/CCL20/TNFSF11/CCL28/PRLR/EDAR/CCL11/CCL15/CCL21/IL22RA1/CCL24
gkg.gbm.dn <- id.table(gkg.gbm.dn)
##lgg
#GSEA in KEGG
gkg.lgg <- gseKEGG(geneList = c(lgg.up.gene,
lgg.dn.gene),
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
verbose = FALSE
)
## Warning in preparePathwaysAndStats(pathways, stats, minSize, maxSize,
## gseaParam, : There are duplicate gene names, fgsea may produce unexpected
## results.
## Warning in fgseaMultilevel(...): For some pathways, in reality P-values are less
## than 1e-10. You can set the `eps` argument to zero for better estimation.
gkg.lgg <- setReadable(gkg.lgg, 'org.Hs.eg.db', 'ENTREZID')
#lgg gsea kegg up
gkg.lgg.up <- gkg.lgg[which(gkg.lgg$NES > 1),]
head(gkg.lgg.up)
## ID Description setSize
## hsa05033 hsa05033 Nicotine addiction 30
## hsa04723 hsa04723 Retrograde endocannabinoid signaling 54
## hsa04727 hsa04727 GABAergic synapse 48
## hsa04724 hsa04724 Glutamatergic synapse 58
## hsa04721 hsa04721 Synaptic vesicle cycle 34
## hsa04080 hsa04080 Neuroactive ligand-receptor interaction 147
## enrichmentScore NES pvalue p.adjust qvalues rank
## hsa05033 0.6663435 3.030571 7.013635e-10 6.171999e-08 4.134353e-08 1322
## hsa04723 0.5343642 2.845641 2.375677e-09 1.567947e-07 1.050299e-07 1265
## hsa04727 0.5398144 2.785318 5.966834e-09 3.150488e-07 2.110375e-07 1365
## hsa04724 0.4849038 2.631907 6.586936e-08 2.484216e-06 1.664068e-06 1230
## hsa04721 0.5848889 2.746391 7.632619e-08 2.518764e-06 1.687210e-06 1103
## hsa04080 0.3450380 2.318550 2.219930e-07 5.860616e-06 3.925771e-06 1230
## leading_edge
## hsa05033 tags=80%, list=22%, signal=63%
## hsa04723 tags=57%, list=21%, signal=46%
## hsa04727 tags=60%, list=22%, signal=47%
## hsa04724 tags=50%, list=20%, signal=40%
## hsa04721 tags=59%, list=18%, signal=49%
## hsa04080 tags=38%, list=20%, signal=31%
## core_enrichment
## hsa05033 GRIA2/GRIA1/GABRG1/GRIA4/GRIA3/CHRNA4/GABRA1/GABRG2/GABRA3/GABRA5/SLC17A7/GABRB3/GRIN2A/SLC32A1/CHRNB2/GABRQ/CACNA1A/SLC17A6/CACNA1B/GABRG3/SLC17A8/GABRB1/GRIN2C/GRIN1
## hsa04723 GRIA2/ADCY8/GRIA1/GABRG1/GRIA4/GRIA3/KCNJ9/GABRA1/GABRG2/GABRA3/ADCY2/GABRA5/SLC17A7/GABRB3/GNAO1/GRM5/SLC32A1/RIMS1/CNR1/GABRQ/MAPK10/CACNA1A/GRM1/SLC17A6/GNG7/CACNA1B/GNG3/GABRG3/SLC17A8/GABRB1/KCNJ6
## hsa04727 ADCY8/GABBR2/GABRG1/SLC6A11/GABRA1/SLC6A1/GABRG2/GABRA3/GAD2/SLC38A3/ADCY2/GABRA5/GABRB3/GNAO1/SLC32A1/GABRQ/HAP1/SLC12A5/CACNA1A/SLC6A13/GNG7/CACNA1B/GAD1/GABBR1/GNG3/GABRG3/GABRB1/KCNJ6/ABAT
## hsa04724 GRIA2/SLC1A2/ADCY8/GRIA1/GRIA4/GRIA3/GRM3/SLC1A3/DLGAP1/GRIK4/GRIK3/SLC1A6/SLC38A3/GRIK2/ADCY2/SLC17A7/GNAO1/GRIN2A/GRM5/GRIK5/CACNA1A/SHANK1/GRM1/SLC17A6/GNG7/GNG3/SLC17A8/GRIK1/GRIN2C
## hsa04721 SLC1A2/SLC6A11/SNAP25/SLC1A3/ATP6V1G2/SLC6A1/SLC1A6/SLC17A7/UNC13A/SLC32A1/RIMS1/UNC13C/STX1B/CPLX2/CACNA1A/SLC17A6/SLC6A13/CACNA1B/DNM3/SLC17A8
## hsa04080 GRIA2/ADCYAP1R1/GRIA1/GABBR2/GABRG1/GRIA4/GRID2/NTSR2/GRIA3/CHRNA4/GRM3/GABRA1/GABRG2/GRIK4/GABRA3/GRIK3/PRLHR/GRIK2/HRH3/GABRA5/GLRA3/CRHR1/GABRB3/GRIN2A/GRM5/GRIK5/PDYN/GALR1/NPY/CHRNB2/CCK/CNR1/GABRQ/ADRA1A/GRM1/VIPR2/P2RX6/GRID1/GLRB/TRH/GABBR1/CCKBR/HTR5A/HTR2C/GABRG3/HTR1A/ADORA1/EDNRB/P2RX7/AGT/SSTR2/PTH1R/MCHR1/GABRB1/GRIK1/GRIN2C
gkg.lgg.up <- id.table(gkg.lgg.up)
#lgg gsea kegg down
gkg.lgg.dn <- gkg.lgg[which(gkg.lgg$NES < -1),]
head(gkg.lgg.dn)
## ID Description
## hsa04060 hsa04060 Cytokine-cytokine receptor interaction
## hsa04061 hsa04061 Viral protein interaction with cytokine and cytokine receptor
## hsa00830 hsa00830 Retinol metabolism
## hsa00980 hsa00980 Metabolism of xenobiotics by cytochrome P450
## hsa00040 hsa00040 Pentose and glucuronate interconversions
## hsa00982 hsa00982 Drug metabolism - cytochrome P450
## setSize enrichmentScore NES pvalue p.adjust
## hsa04060 106 -0.4457092 -2.918626 1.000000e-10 2.640000e-08
## hsa04061 47 -0.5717562 -3.007185 5.085073e-10 6.171999e-08
## hsa00830 22 -0.6982530 -2.935977 1.411192e-08 6.209247e-07
## hsa00980 31 -0.5865730 -2.739692 1.985647e-07 5.824563e-06
## hsa00040 11 -0.7665236 -2.534338 2.690258e-06 5.918568e-05
## hsa00982 29 -0.5708124 -2.600628 3.084894e-06 6.264708e-05
## qvalues rank leading_edge
## hsa04060 1.768421e-08 1874 tags=67%, list=31%, signal=47%
## hsa04061 4.134353e-08 2290 tags=91%, list=37%, signal=58%
## hsa00830 4.159304e-07 1219 tags=86%, list=20%, signal=69%
## hsa00980 3.901621e-06 1171 tags=61%, list=19%, signal=50%
## hsa00040 3.964591e-05 589 tags=82%, list=10%, signal=74%
## hsa00982 4.196455e-05 1171 tags=59%, list=19%, signal=48%
## core_enrichment
## hsa04060 TNFRSF12A/CXCL14/LTB/IL15/TNFRSF14/IL24/INHBA/CCR2/TNFRSF18/BMP3/PF4/BMP4/IL1RL2/CCL5/CCR7/IL15RA/TNFSF10/CXCL17/TNFRSF11B/TNFRSF13B/CCL22/IL7/LTBR/XCR1/TNFRSF11A/CD40LG/CSF3/FASLG/CCL14/BMP5/TNFRSF9/IL7R/TNFRSF17/IL2RB/CD70/TNFRSF10A/CXCL10/CXCL6/CXCL13/CCR4/CXCL11/IL17RE/CXCR6/IL1RN/IL20RA/CSF2/LIF/IL2RA/IL1R2/IL32/CXCL9/CXCL3/CXCL8/CCL13/EDAR/IL2RG/IL23R/PRLR/CCL28/TNFSF15/CXCR3/CXCL1/CCL18/TNFSF11/CCL21/GDF15/CCL11/CCL15/CCL20/IL22RA1/CCL24
## hsa04061 TNFRSF10D/IL18RAP/CXCL2/CCL26/PPBP/IL6/TNFSF14/CXCL14/TNFRSF14/IL24/CCR2/PF4/CCL5/CCR7/TNFSF10/CCL22/LTBR/XCR1/CCL14/IL2RB/TNFRSF10A/CXCL10/CXCL6/CXCL13/CCR4/CXCL11/IL20RA/IL2RA/CXCL9/CXCL3/CXCL8/CCL13/IL2RG/CCL28/CXCR3/CXCL1/CCL18/CCL21/CCL11/CCL15/CCL20/IL22RA1/CCL24
## hsa00830 ALDH1A3/ADH4/UGT1A1/SDR16C5/CYP2C9/CYP3A5/ADH6/UGT1A8/UGT1A6/CYP2C18/CYP2W1/CYP2S1/UGT2B7/UGT2B15/UGT2B17/UGT1A10/ADH1C/UGT2A3/CYP2B6
## hsa00980 ADH4/UGT1A1/ALDH3A1/GSTA1/CYP2C9/AKR7A3/CYP3A5/ADH6/ALDH3B2/UGT1A8/UGT1A6/CYP2S1/UGT2B7/UGT2B15/UGT2B17/UGT1A10/ADH1C/UGT2A3/CYP2B6
## hsa00040 UGT1A1/UGT1A8/UGT1A6/AKR1B10/UGT2B7/UGT2B15/UGT2B17/UGT1A10/UGT2A3
## hsa00982 ADH4/UGT1A1/ALDH3A1/GSTA1/CYP2C9/CYP3A5/ADH6/ALDH3B2/UGT1A8/UGT1A6/UGT2B7/UGT2B15/UGT2B17/UGT1A10/ADH1C/UGT2A3/CYP2B6
gkg.lgg.dn <- id.table(gkg.lgg.dn)
fa.DEA1 <- rbind(fa.DEA1,
setNames(gkg.gbm.up[,keep.colums.gsea],names(fa.DEA1)),
setNames(gkg.gbm.dn[,keep.colums.gsea],names(fa.DEA1)),
setNames(gkg.lgg.up[,keep.colums.gsea],names(fa.DEA1)),
setNames(gkg.lgg.dn[,keep.colums.gsea],names(fa.DEA1)))
writexl::write_xlsx(fa.DEA1, path = "DEAsets/fa.DEA1.xlsx")
In this section, different wordclouds are shown from proccesses and genes involved in the proccesses.
### fuction to create tables and wordclouds of proccess and genes respectively
proccess.table <- function(fa.table, database, cases, reg){
t <- fa.table
enrich <- paste("e",database, sep = "")
gsea <- paste("g",database, sep = "")
t <- t$Description[which(t$tool == enrich & t$cancer == cases & t$regulation_proccess == reg|
t$tool == gsea & t$cancer == cases & t$regulation_proccess == reg)]
t <- as.data.frame(table(t))
t <- t[order(t$Freq,decreasing = TRUE),]
return <- (t)
}
#function to get wordcloud
getwordcloud <- function(fa.table, database, cases, reg, scale.w = c(1.8,.3)){
w <- fa.table
enrich <- paste("e",database, sep = "")
gsea <- paste("g",database, sep = "")
w <- w$geneID[which(w$tool == enrich & w$cancer == cases & w$regulation_proccess == reg|
w$tool == gsea & w$cancer == cases & w$regulation_proccess == reg)]
w <- unlist(strsplit(w, "/"))
w <- as.data.frame(table(w))
wordcloud(words = w$w, freq = w$Freq,
min.freq = 4,max.words=50, random.order=FALSE,
rot.per=0.35, scale= scale.w, colors=brewer.pal(8, "Dark2"))
}
#### Wordclouds for FA1 ####
### acronyms
## databases
# wp = wikipathways
# go = gene ontology
# kg = KEGG
##cases
# gbm = GBM vs colon
# lgg = LGG vs colon
# gli = GBM vs LGG
### WIKIPATHWAYS ####
## GBM
#up-regulated
fa.wp.gbm.up<- proccess.table(fa.table = fa.DEA1,
database = "wp",
cases = "gbm",
reg = "up")
head(fa.wp.gbm.up)
## t Freq
## 4 Disruption of postsynaptic signaling by CNV 2
## 6 Fragile X Syndrome 2
## 7 GABA receptor Signaling 2
## 12 mBDNF and proBDNF regulation of GABA neurotransmission 2
## 13 MECP2 and Associated Rett Syndrome 2
## 15 Neural Crest Differentiation 2
getwordcloud(fa.table = fa.DEA1,
database = "wp",
cases = "gbm",
reg = "up")
#down-regulated
fa.wp.gbm.dn<- proccess.table(fa.table = fa.DEA1,
database = "wp",
cases = "gbm",
reg = "dn")
head(fa.wp.gbm.dn)
## t Freq
## 2 Epithelial to mesenchymal transition in colorectal cancer 2
## 7 Metapathway biotransformation Phase I and II 2
## 8 Nuclear Receptors Meta-Pathway 2
## 13 Vitamin D Receptor Pathway 2
## 1 Codeine and Morphine Metabolism 1
## 3 Estrogen metabolism 1
getwordcloud(fa.table = fa.DEA1,
database = "wp",
cases = "gbm",
reg = "dn")
## LGG
#up
fa.wp.lgg.up<- proccess.table(fa.table = fa.DEA1,
database = "wp",
cases = "lgg",
reg = "up")
head(fa.wp.lgg.up)
## t Freq
## 2 Brain-derived neurotrophic factor (BDNF) signaling pathway 2
## 3 Calcium Regulation in the Cardiac Cell 2
## 5 Common Pathways Underlying Drug Addiction 2
## 6 Disruption of postsynaptic signaling by CNV 2
## 7 Fragile X Syndrome 2
## 8 GABA receptor Signaling 2
getwordcloud(fa.table = fa.DEA1,
database = "wp",
cases = "lgg",
reg = "up")
#down-regulated
fa.wp.lgg.dn<- proccess.table(fa.table = fa.DEA1,
database = "wp",
cases = "lgg",
reg = "dn")
head(fa.wp.lgg.dn)
## t
## 1 Allograft Rejection
## 10 IL-18 signaling pathway
## 11 Inflammatory Response Pathway
## 12 Interactions between immune cells and microRNAs in tumor microenvironment
## 14 Matrix Metalloproteinases
## 16 miRNA targets in ECM and membrane receptors
## Freq
## 1 2
## 10 2
## 11 2
## 12 2
## 14 2
## 16 2
getwordcloud(fa.table = fa.DEA1,
database = "wp",
cases = "lgg",
reg = "dn")
## GENE ONTOLOGY ####
## GBM
#up-regulated
fa.go.gbm.up<- proccess.table(fa.table = fa.DEA1,
database = "go",
cases = "gbm",
reg = "up")
head(fa.go.gbm.up)
## t Freq
## 36 synapse organization 2
## 1 anterograde trans-synaptic signaling 1
## 2 behavior 1
## 3 cell junction assembly 1
## 4 central nervous system development 1
## 5 central nervous system neuron differentiation 1
getwordcloud(fa.table = fa.DEA1,
database = "go",
cases = "gbm",
reg = "up")
#down-regulated
fa.go.gbm.dn<- proccess.table(fa.table = fa.DEA1,
database = "go",
cases = "gbm",
reg = "dn")
head(fa.go.gbm.dn)
## t
## 5 B cell mediated immunity
## 25 immunoglobulin mediated immune response
## 1 activation of immune response
## 2 adaptive immune response
## 3 adaptive immune response based on somatic recombination of immune receptors built from immunoglobulin superfamily domains
## 4 antigen receptor-mediated signaling pathway
## Freq
## 5 2
## 25 2
## 1 1
## 2 1
## 3 1
## 4 1
getwordcloud(fa.table = fa.DEA1,
database = "go",
cases = "gbm",
reg = "dn",
scale.w = c(1,.2))
## LGG
#up
fa.go.lgg.up<- proccess.table(fa.table = fa.DEA1,
database = "go",
cases = "lgg",
reg = "up")
head(fa.go.lgg.up)
## t Freq
## 36 synapse organization 2
## 1 anterograde trans-synaptic signaling 1
## 2 behavior 1
## 3 cell junction assembly 1
## 4 central nervous system development 1
## 5 central nervous system neuron differentiation 1
getwordcloud(fa.table = fa.DEA1,
database = "go",
cases = "lgg",
reg = "up")
#down-regulated
fa.go.lgg.dn<- proccess.table(fa.table = fa.DEA1,
database = "go",
cases = "lgg",
reg = "dn")
head(fa.go.lgg.dn)
## t Freq
## 5 B cell mediated immunity 2
## 23 immunoglobulin mediated immune response 2
## 1 activation of immune response 1
## 2 adaptive immune response 1
## 3 alpha-beta T cell differentiation 1
## 4 antigen receptor-mediated signaling pathway 1
getwordcloud(fa.table = fa.DEA1,
database = "go",
cases = "lgg",
reg = "dn",
scale.w = c(1,.2))
## KEGG ####
## GBM
#up-regulated
fa.kg.gbm.up<- proccess.table(fa.table = fa.DEA1,
database = "kg",
cases = "gbm",
reg = "up")
head(fa.kg.gbm.up)
## t Freq
## 1 Adrenergic signaling in cardiomyocytes 2
## 8 cAMP signaling pathway 2
## 10 Cell adhesion molecules 2
## 11 Circadian entrainment 2
## 13 Dopaminergic synapse 2
## 14 GABAergic synapse 2
getwordcloud(fa.table = fa.DEA1,
database = "kg",
cases = "gbm",
reg = "up")
#down-regulated
fa.kg.gbm.dn<- proccess.table(fa.table = fa.DEA1,
database = "kg",
cases = "gbm",
reg = "dn")
head(fa.kg.gbm.dn)
## t Freq
## 2 Arachidonic acid metabolism 2
## 3 Ascorbate and aldarate metabolism 2
## 6 Chemical carcinogenesis - DNA adducts 2
## 7 Cytokine-cytokine receptor interaction 2
## 8 Drug metabolism - cytochrome P450 2
## 10 Fat digestion and absorption 2
getwordcloud(fa.table = fa.DEA1,
database = "kg",
cases = "gbm",
reg = "dn")
## LGG
#up
fa.kg.lgg.up<- proccess.table(fa.table = fa.DEA1,
database = "kg",
cases = "lgg",
reg = "up")
head(fa.kg.lgg.up)
## t Freq
## 1 Adrenergic signaling in cardiomyocytes 2
## 4 Calcium signaling pathway 2
## 5 cAMP signaling pathway 2
## 7 Cholinergic synapse 2
## 8 Circadian entrainment 2
## 9 Dopaminergic synapse 2
getwordcloud(fa.table = fa.DEA1,
database = "kg",
cases = "lgg",
reg = "up")
#down-regulated
fa.kg.lgg.dn<- proccess.table(fa.table = fa.DEA1,
database = "kg",
cases = "lgg",
reg = "dn")
head(fa.kg.lgg.dn)
## t Freq
## 1 Arachidonic acid metabolism 2
## 2 Ascorbate and aldarate metabolism 2
## 4 Chemical carcinogenesis - DNA adducts 2
## 6 Cytokine-cytokine receptor interaction 2
## 7 Drug metabolism - cytochrome P450 2
## 10 Fat digestion and absorption 2
getwordcloud(fa.table = fa.DEA1,
database = "kg",
cases = "lgg",
reg = "dn")
In the second analysis, we want to carry out an differential expression analysis between similar glioma cancer typology. Then, no colon cases will be use below.
Colon cases were removed and new factor group was created in this chunk.
#sim data, no colon cases
sim_exprs <- raw_exprs[,which(group_f != "colon")]
#groups for sim data
group_s <- as.factor(as.character(
group_f[which(group_f != "colon")]))
Similar procedure is used to do the signal expression filtering. CPM > 1 sets was employed.
#for filtering purpose data are transformed to log-cpm
myCPM <-cpm(sim_exprs)
#mean and median of library sizes in M
col_sum <- colSums(sim_exprs)
mlib <- mean(col_sum) * 1e-6
mlib
## [1] 51.44286
medlib <- median(col_sum) * 1e-6
medlib
## [1] 50.79996
hist(col_sum * 1e-6,
las= 2, col = "navyblue",
main="Histogram of library sizes analysis 2",
xlab="Library size (M)")
abline(v = mlib, col = "grey")
abline(v = medlib, col = "red")
### CPM equal to standard value 1
# threshold to get upper values
thresh <- myCPM > 1
#cpm equal to 1 is a standard threshold
# Genes which are retained are those whose cpm is
# above thresh in half of the minimum cases of the
# less abundant group cases
#n samples retained
keepn <- round(min(tabulate(group_f))*0.5,0)
#genes to retain
keepcpm <- rowSums(thresh) >= keepn
#number of genes retained with cpm > 1 approach
sum(keepcpm)
## [1] 18744
#identifying retained genes
keeprow <- attr(keepcpm,"names")[keepcpm==T]
#filter dataset
sim_exprs <- sim_exprs[keepcpm,]
save(sim_exprs, file="data/sim_exprs.RData")
#deleting variables
rm(myCPM, thresh, keepcpm, keepn, keeprow,
medlib,mlib,col_sum)
Again, as well as how they behave in a PCA:
set.seed(1234567)
#### Optional
## Reducing number of cases to reduce computational cost
## If you want to reduce number of cases changes percent
percent <- 1
pca_samples_ids <- sort(sample(x = 1:length(colnames(sim_exprs)),
size = length(colnames(sim_exprs))*percent,
replace = FALSE))
pca_group <- group_s[pca_samples_ids]
#Proportion in the full and in the reduced datasets of PCA
prop.table(table(pca_group))
## pca_group
## gbm lgg
## 0.2475107 0.7524893
prop.table(table(group_s))
## group_s
## gbm lgg
## 0.2475107 0.7524893
#pca
pca_s <- prcomp(t(sim_exprs[,pca_samples_ids]),
center = TRUE,
scale = FALSE)
fig_pca.a2 <- fviz_pca_ind(pca_s,
geom = "point",
col.ind = pca_group
)
fig_pca.a2
#deleting variables
rm(pca_s)
Normalization with edgeR and voom, as previously done in analysis 1.
#apply countstovoom function
v.S <- countstovoom(sim_exprs, group_s)
save(v.S, file="data/v.S.RData")
How are they after normalization proccess?
#pca function
pcanorm_s <- prcomp(t(v.S$E[,pca_samples_ids]),
center = TRUE,
scale = FALSE)
#pca plot
fig_pcanorm.a2 <- fviz_pca_ind(pcanorm_s,
geom = "point",
col.ind = pca_group)
fig_pcanorm.a2
#deleting variables
rm(pcanorm_s, pca_group, pca_samples_ids)
Again, linmod to create the linear model.
#Building linear model
fit.cont.S <- linmod(voomobj = v.S,
group = group_s,
contrast.mod = as.character(c("gbm-lgg"))
)
save(fit.cont.S, file="data/fit.cont.S.RData")
In this second DE analysis GBM is compared with LGG. So reference levels are taken for LGG and GBM face to this gene-expression levels.
#DEG based on treat function procedure
fit.treat.S <- treat(fit.cont.S,lfc=2)
res.treat.S <- decideTests(fit.treat.S)
#Annotation for fit.treat object
ann <- AnnotationDbi::select(org.Hs.eg.db,
keys=rownames(fit.treat.S),
keytype= "ENSEMBL",
columns=c("ENTREZID","SYMBOL","GENENAME"),
multiVals="first")
#removing duplicated in the samples
ann <- ann[!duplicated(ann$ENSEMBL),]
#adding gen labels to fit.treat_genes
fit.treat.S$genes <- ann
#GBM vs LGG
topGLIOMA <- topTreat(fit.treat.S,
coef= "gbm-lgg",
sort.by= "logFC",
number = sum(summary(
res.treat.S)[,"gbm-lgg"]))
rownames(topGLIOMA) <- NULL
#potential biomarkers of GBM
head(topGLIOMA, 10)
## ENSEMBL ENTREZID SYMBOL GENENAME logFC
## 1 ENSG00000188257 5320 PLA2G2A phospholipase A2 group IIA 7.244672
## 2 ENSG00000173432 6288 SAA1 serum amyloid A1 6.892728
## 3 ENSG00000029559 3381 IBSP integrin binding sialoprotein 6.363485
## 4 ENSG00000133110 10631 POSTN periostin 6.257431
## 5 ENSG00000133048 1116 CHI3L1 chitinase 3 like 1 6.181411
## 6 ENSG00000180818 3226 HOXC10 homeobox C10 6.103345
## 7 ENSG00000012223 4057 LTF lactotransferrin 5.904532
## 8 ENSG00000106004 3202 HOXA5 homeobox A5 5.792235
## 9 ENSG00000105997 3200 HOXA3 homeobox A3 5.762116
## 10 ENSG00000128713 3237 HOXD11 homeobox D11 5.584901
## AveExpr t P.Value adj.P.Val
## 1 -2.2746340 21.25814 3.661198e-78 1.372510e-75
## 2 -2.6388061 20.45380 1.197088e-73 4.079676e-71
## 3 -2.0724767 21.33646 1.324316e-78 5.065913e-76
## 4 0.8749264 18.00815 3.153558e-60 8.097299e-58
## 5 6.0740896 15.48999 4.295449e-47 7.253504e-45
## 6 -2.6839746 17.90647 1.107927e-59 2.768932e-57
## 7 2.1851934 16.82773 5.748725e-54 1.210720e-51
## 8 -2.1635298 18.46242 1.115732e-62 3.121384e-60
## 9 -2.7628577 18.32029 6.558480e-62 1.781625e-59
## 10 -3.6611024 17.97695 4.638708e-60 1.174972e-57
#savedata
writexl::write_xlsx(topGLIOMA, path = "DEAsets/topGLIOMA.xlsx")
save(topGLIOMA, file = "data/topGLIOMA.RData")
#Sum up of all the DEG for comparisons.
summary(res.treat.S)
## gbm-lgg
## Down 145
## NotSig 18031
## Up 568
#deleting variables
rm(ann, fit.cont.S)
Mean-difference plots as a results of the DEA.
#MD gbm vs lgg
plotMD(fit.treat.S,coef=1,
status=res.treat.S[,"gbm-lgg"],
values=c(-1,1),
main = "GBM vs LGG",
cex = 0.1,
legend = FALSE)
abline(h=0,col="grey")
This chunk consiste on create gene sets for functional analysis afterwards.
p.value <- .05
log.FC <- 2
IDgene <- c("ENTREZID", "ENSEMBL","SYMBOL")
parameter <- c("logFC", "adj.P.Val")
##GLIOMA genesets
#universe geneset
gli.all.genelist <- topGLIOMA[,c(IDgene,parameter)]
gli.all.gene <- gli.all.genelist[,"logFC"]
names(gli.all.gene) <- as.character(gli.all.genelist[,"ENTREZID"])
gli.all.gene <- sort(gli.all.gene, decreasing = TRUE)
#up geneset
gli.up.genelist <- topGLIOMA[topGLIOMA$adj.P.Val < p.value & topGLIOMA$logFC > log.FC,
c(IDgene,parameter)]
gli.up.gene <- gli.up.genelist[,"logFC"]
names(gli.up.gene) <- as.character(gli.up.genelist[,"ENTREZID"])
gli.up.gene <- sort(gli.up.gene, decreasing = TRUE)
#down geneset
gli.dn.genelist <- topGLIOMA[topGLIOMA$adj.P.Val < p.value & topGLIOMA$logFC < log.FC,
c(IDgene,parameter)]
gli.dn.gene <- gli.dn.genelist[,"logFC"]
names(gli.dn.gene) <- as.character(gli.dn.genelist[,"ENTREZID"])
gli.dn.gene <- sort(gli.dn.gene, decreasing = TRUE)
Venn diagram plot in this second analysis was done with all of the result from the analysis 1 and with the results of the second analysis. Again up and down-regulated genes are separated.
#list for venn diagram
venn_list2 <- list(a1.up = unique(c(gbm.up.genelist$ENSEMBL,
lgg.up.genelist$ENSEMBL)),
a1.dn = unique(c(gbm.dn.genelist$ENSEMBL,
lgg.dn.genelist$ENSEMBL)),
gli.up = gli.up.genelist$ENSEMBL,
gli.dn = gli.dn.genelist$ENSEMBL)
v.table2 <- venn(data = venn_list2,
universe = gli.all.genelist$ENSEMBL,
small=0.7, showSetLogicLabel=FALSE,
show.plot=FALSE, intersections=TRUE,
names = c("analysis 1 up",
"analysis 1 down",
"GBM vs LGG up",
"GBM vs LGG down")
)
isect2 <- attr(v.table2, "intersection")
par(mfrow=c(1,1))
#venn diagram
ggvenn(venn_list2,
fill_color = brewer.pal(8, "Dark2"),
stroke_size = 0.2, set_name_size = 4.5,
text_size = 3.5)
Previous TOPGLIOMA dataset can be taken as a list of potential biomarkers but in this section we explore the groups represented in the Venn diagram which are exclusive for some reason.
#specific genes for up and down regulation in GBM excluding common genes with analysis 1
gbm.specific2 <- c(isect2[["GBM vs LGG up"]],isect2[["GBM vs LGG down"]])
length(gbm.specific2)
## [1] 216
gbm.specific.table2 <- topGLIOMA[topGLIOMA$ENSEMBL %in% gbm.specific2,]
head(gbm.specific.table2)
## ENSEMBL ENTREZID SYMBOL GENENAME
## 62 ENSG00000037965 3224 HOXC8 homeobox C8
## 80 ENSG00000213763 <NA> <NA> <NA>
## 81 ENSG00000185834 <NA> <NA> <NA>
## 95 ENSG00000240509 100271003 RPL34P18 ribosomal protein L34 pseudogene 18
## 102 ENSG00000234782 <NA> <NA> <NA>
## 104 ENSG00000178458 <NA> <NA> <NA>
## logFC AveExpr t P.Value adj.P.Val
## 62 4.320592 -3.8961988 12.96590 6.208446e-35 6.926852e-33
## 80 4.058815 -0.6514678 30.11758 5.132908e-129 1.924224e-125
## 81 4.034901 -1.0828067 24.34283 9.300956e-96 6.973485e-93
## 95 3.916594 -2.4680458 21.19265 8.563872e-78 3.147475e-75
## 102 3.826277 -0.7988034 23.60810 1.544064e-91 8.512335e-89
## 104 3.822028 -2.3807517 22.59116 1.009917e-85 4.732470e-83
#specific genes for up and down regulation in GBM and up and down analysis 1, respectively
gbm.equal.a1 <- c(isect2[["analysis 1 up:GBM vs LGG up"]],isect2[["analysis 1 down:GBM vs LGG down"]])
length(gbm.equal.a1)
## [1] 158
gbm.equal.a1.table <- topGLIOMA[topGLIOMA$ENSEMBL %in% gbm.equal.a1,]
head(gbm.equal.a1.table)
## ENSEMBL ENTREZID SYMBOL GENENAME logFC
## 3 ENSG00000029559 3381 IBSP integrin binding sialoprotein 6.363485
## 5 ENSG00000133048 1116 CHI3L1 chitinase 3 like 1 6.181411
## 6 ENSG00000180818 3226 HOXC10 homeobox C10 6.103345
## 7 ENSG00000012223 4057 LTF lactotransferrin 5.904532
## 11 ENSG00000168779 6474 SHOX2 short stature homeobox 2 5.581145
## 14 ENSG00000106511 4223 MEOX2 mesenchyme homeobox 2 5.322906
## AveExpr t P.Value adj.P.Val
## 3 -2.07247666 21.33646 1.324316e-78 5.065913e-76
## 5 6.07408961 15.48999 4.295449e-47 7.253504e-45
## 6 -2.68397456 17.90647 1.107927e-59 2.768932e-57
## 7 2.18519339 16.82773 5.748725e-54 1.210720e-51
## 11 -0.89083646 18.11505 8.393710e-61 2.215939e-58
## 14 -0.03197812 17.41113 4.853955e-57 1.096175e-54
#specific genes for up and down regulation in GBM and down and up analysis 1, respectively
gbm.vic.a1 <- c(isect2[["analysis 1 down:GBM vs LGG up"]],isect2[["analysis 1 up:GBM vs LGG down"]])
length(gbm.vic.a1)
## [1] 338
gbm.vic.a1.table <- topGLIOMA[topGLIOMA$ENSEMBL %in% gbm.vic.a1,]
head(gbm.vic.a1.table)
## ENSEMBL ENTREZID SYMBOL GENENAME logFC
## 1 ENSG00000188257 5320 PLA2G2A phospholipase A2 group IIA 7.244672
## 2 ENSG00000173432 6288 SAA1 serum amyloid A1 6.892728
## 4 ENSG00000133110 10631 POSTN periostin 6.257431
## 8 ENSG00000106004 3202 HOXA5 homeobox A5 5.792235
## 9 ENSG00000105997 3200 HOXA3 homeobox A3 5.762116
## 10 ENSG00000128713 3237 HOXD11 homeobox D11 5.584901
## AveExpr t P.Value adj.P.Val
## 1 -2.2746340 21.25814 3.661198e-78 1.372510e-75
## 2 -2.6388061 20.45380 1.197088e-73 4.079676e-71
## 4 0.8749264 18.00815 3.153558e-60 8.097299e-58
## 8 -2.1635298 18.46242 1.115732e-62 3.121384e-60
## 9 -2.7628577 18.32029 6.558480e-62 1.781625e-59
## 10 -3.6611024 17.97695 4.638708e-60 1.174972e-57
Similar procedure as functional analysis in DEA1
### GBM vs LGG
#ORA pathway up
ewp.gli.up <- enricher(gene = names(gli.up.gene),
universe = names(gli.all.gene),
pAdjustMethod = "BH",
pvalueCutoff = .1,
TERM2GENE = wpid2gene,
TERM2NAME = wpid2name)
ewp.gli.up <- DOSE::setReadable(ewp.gli.up, org.Hs.eg.db, keyType = "ENTREZID")
head(ewp.gli.up)
## ID Description GeneRatio BgRatio
## WP2911 WP2911 miRNA targets in ECM and membrane receptors 9/142 22/6145
## WP3624 WP3624 Lung fibrosis 10/142 50/6145
## WP129 WP129 Matrix Metalloproteinases 6/142 20/6145
## WP4891 WP4891 COVID-19 adverse outcome pathway 5/142 13/6145
## WP4754 WP4754 IL-18 signaling pathway 18/142 239/6145
## WP1533 WP1533 Vitamin B12 metabolism 7/142 39/6145
## pvalue p.adjust qvalue
## WP2911 5.618371e-10 1.466395e-07 1.206471e-07
## WP3624 1.474743e-07 1.924540e-05 1.583408e-05
## WP129 4.066345e-06 3.537720e-04 2.910647e-04
## WP4891 6.809091e-06 4.271637e-04 3.514475e-04
## WP4754 8.183213e-06 4.271637e-04 3.514475e-04
## WP1533 2.513636e-05 1.093432e-03 8.996172e-04
## geneID
## WP2911 COL3A1/COL6A3/COL4A1/COL6A2/COL5A1/COL1A2/THBS1/COL4A2/COL5A2
## WP3624 MMP9/CXCL8/TIMP1/PTX3/CSF3/PLAU/SPP1/IL6/TERT/SERPINA1
## WP129 MMP9/TIMP1/MMP1/MMP7/MMP19/MMP11
## WP4891 CXCL8/IL2RA/CXCL10/CSF3/IL6
## WP4754 MMP9/CXCL8/TIMP1/IL2RA/DES/COL3A1/COL1A1/MMP1/PTX3/CCN4/CCL18/SOCS3/TNFRSF11B/VEGFA/COL1A2/SPP1/IL6/CCNB2
## WP1533 SAA1/SAA2/SERPINE1/SERPINA3/HBA1/IL6/PLAT
## Count
## WP2911 9
## WP3624 10
## WP129 6
## WP4891 5
## WP4754 18
## WP1533 7
p1<-barplot(ewp.gli.up,
showCategory = 7,
font.size = 7,
label_format = 15)+
ggtitle("GBM vs LGG DEG up")
ewp.gli.up <- id.table(ewp.gli.up)
#ORA pathway dn
ewp.gli.dn <- enricher(gene = names(gli.dn.gene),
universe = names(gli.all.gene),
pAdjustMethod = "BH",
pvalueCutoff = .1,
TERM2GENE = wpid2gene,
TERM2NAME = wpid2name)
ewp.gli.dn <- DOSE::setReadable(ewp.gli.dn, org.Hs.eg.db, keyType = "ENTREZID")
head(ewp.gli.dn)
## ID Description GeneRatio BgRatio pvalue
## WP455 WP455 GPCRs, Class A Rhodopsin-like 5/38 128/6145 0.001048634
## p.adjust qvalue geneID Count
## WP455 0.06711257 0.06291803 GPR17/HRH3/HTR1A/SSTR1/PRLHR 5
p2<-barplot(ewp.gli.dn,
showCategory = 7,
font.size = 7,
label_format = 15)+
ggtitle("GBM vs LGG DEG down")
ewp.gli.dn <- id.table(ewp.gli.dn,size = 1)
#plot grid for results
pt <- plot_grid(p1, p2,ncol = 2)
## to collect all functional analysis results
fa.DEA2 <- rbind(ewp.gli.up[,keep.colums.enricher],
ewp.gli.dn[,keep.colums.enricher])
set.seed(1234567)
## GBM vs LGG GSEA
gwp.gli <- GSEA(geneList = c(gli.up.gene,
gli.dn.gene),
pAdjustMethod = "BH",
pvalueCutoff = 0.1,
TERM2GENE = wpid2gene,
TERM2NAME = wpid2name,
verbose = FALSE
)
## Warning in preparePathwaysAndStats(pathways, stats, minSize, maxSize,
## gseaParam, : There are duplicate gene names, fgsea may produce unexpected
## results.
gwp.gli <- setReadable(gwp.gli, 'org.Hs.eg.db', 'ENTREZID')
#gbm vs lgg gsea wikipathways up
gwp.gli.up <- gwp.gli[which(gwp.gli$NES > 1),]
head(gwp.gli.up)
## ID Description setSize enrichmentScore NES
## WP4754 WP4754 IL-18 signaling pathway 18 0.453979 1.948376
## pvalue p.adjust qvalues rank leading_edge
## WP4754 0.008383412 0.07545071 0.07059715 274 tags=78%, list=38%, signal=49%
## core_enrichment
## WP4754 MMP9/CXCL8/TIMP1/IL2RA/DES/COL3A1/COL1A1/MMP1/PTX3/CCN4/CCL18/SOCS3/TNFRSF11B/VEGFA
gwp.gli.up <- id.table(gwp.gli.up, size = 1)
#gbm vs lgg gsea wikipathways down
gwp.gli.dn <- gwp.gli[which(gwp.gli$NES < -1),]
head(gwp.gli.dn)
## [1] ID Description setSize enrichmentScore
## [5] NES pvalue p.adjust qvalues
## [9] rank leading_edge core_enrichment
## <0 rows> (or 0-length row.names)
#gwp.gli.dn <- id.table(gwp.gli.dn) #no results
fa.DEA2 <- rbind(fa.DEA2,
setNames(gwp.gli.up[,keep.colums.gsea],names(fa.DEA2)))
# no results setNames(gwp.gli.dn[,keep.colums.gsea],names(fa.DEA2)))
Gene ontology functional analysis with clusterProfiler functions enrichGo adn gseGO. Due to the parent-childhood annotation of GO terms, dropGO is applied to avoid general terms, eliminating higher levels of GO.
#level to drop
level.go <- 3
### GBM vs LGG
## BIOLOGICAL PROCESS (BP)
# ORA GO up BP
ego.gli.up <- enrichGO(gene = gli.up.genelist$ENSEMBL,
OrgDb = org.Hs.eg.db,
keyType = 'ENSEMBL',
ont = "BP",
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
readable = TRUE)
ego.gli.up <- setReadable(dropGO(ego.gli.up,level = 1:level.go),
org.Hs.eg.db, keyType = "ENTREZID")
head(ego.gli.up)
## ID Description GeneRatio
## GO:0030198 GO:0030198 extracellular matrix organization 37/281
## GO:0043062 GO:0043062 extracellular structure organization 37/281
## GO:0048704 GO:0048704 embryonic skeletal system morphogenesis 20/281
## GO:0048706 GO:0048706 embryonic skeletal system development 22/281
## GO:0009952 GO:0009952 anterior/posterior pattern specification 26/281
## GO:0048705 GO:0048705 skeletal system morphogenesis 26/281
## BgRatio pvalue p.adjust qvalue
## GO:0030198 442/21081 4.084391e-19 7.454160e-16 6.100502e-16
## GO:0043062 443/21081 4.405532e-19 7.454160e-16 6.100502e-16
## GO:0048704 100/21081 3.280173e-18 3.700036e-15 3.028118e-15
## GO:0048706 136/21081 8.030503e-18 6.793805e-15 5.560066e-15
## GO:0009952 234/21081 1.092500e-16 6.161701e-14 5.042751e-14
## GO:0048705 234/21081 1.092500e-16 6.161701e-14 5.042751e-14
## geneID
## GO:0030198 IBSP/POSTN/MMP9/TIMP1/PDPN/COL3A1/COL1A1/MMP1/FMOD/PTX3/SERPINE1/MMP7/LOX/COL8A1/ADAM12/COL6A3/COL4A1/COL6A2/COL5A1/ANXA2/TNFRSF11B/MMP19/LOXL1/LUM/MFAP2/TGFBI/COL1A2/SPP1/DPP4/THBS1/ADAMTS18/IL6/COL4A2/COL5A2/MMP11/SERPINH1/EFEMP2
## GO:0043062 IBSP/POSTN/MMP9/TIMP1/PDPN/COL3A1/COL1A1/MMP1/FMOD/PTX3/SERPINE1/MMP7/LOX/COL8A1/ADAM12/COL6A3/COL4A1/COL6A2/COL5A1/ANXA2/TNFRSF11B/MMP19/LOXL1/LUM/MFAP2/TGFBI/COL1A2/SPP1/DPP4/THBS1/ADAMTS18/IL6/COL4A2/COL5A2/MMP11/SERPINH1/EFEMP2
## GO:0048704 HOXA5/HOXA3/SHOX2/HOXC11/HOXA2/HOXD10/HOXA4/HOXC9/HOXB3/HOXA6/HOXA7/HOXB4/HOXA9/HOXD9/HOXB2/HOXA1/OSR2/HOXA11/HOXB7/HOXC4
## GO:0048706 HOXA5/HOXA3/SHOX2/HOXC11/HOXA2/HOXD10/HOXA4/HOXC9/HOXC6/HOXB3/HOXA6/HOXA7/HOXB4/HOXA9/HOXD9/COL1A1/HOXB2/HOXA1/OSR2/HOXA11/HOXB7/HOXC4
## GO:0009952 HOXC10/HOXA5/HOXA3/HOXD13/MEOX2/HOXC11/HOXA2/HOXD10/HOXC13/HOXA4/HOXC9/HOXC6/HOXB3/HOXA6/HOXA10/HOXA7/EN1/HOXC8/HOXB4/HOXA9/HOXD9/HOXB2/GATA4/HOXA11/HOXB7/HOXC4
## GO:0048705 LTF/HOXA5/HOXA3/SHOX2/HOXC11/HOXA2/HOXD10/HOXA4/HOXC9/HOXB3/HOXA6/HOXA7/HOXC8/STC1/HOXB4/HOXA9/HOXD9/COL1A1/HOXB2/HOXA1/OSR2/HOXA11/HOXB7/HOXC4/MGP/SERPINH1
## Count
## GO:0030198 37
## GO:0043062 37
## GO:0048704 20
## GO:0048706 22
## GO:0009952 26
## GO:0048705 26
ego.gli.up <- id.table(ego.gli.up)
# ORA GO down BP
ego.gli.dn <- enrichGO(gene = gli.dn.genelist$ENSEMBL,
OrgDb = org.Hs.eg.db,
keyType = 'ENSEMBL',
ont = "BP",
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
readable = TRUE)
ego.gli.dn <- setReadable(dropGO(ego.gli.dn,level = 1:level.go),
org.Hs.eg.db, keyType = "ENTREZID")
head(ego.gli.dn)
## ID Description
## GO:0060078 GO:0060078 regulation of postsynaptic membrane potential
## GO:0099565 GO:0099565 chemical synaptic transmission, postsynaptic
## GO:0042391 GO:0042391 regulation of membrane potential
## GO:0050890 GO:0050890 cognition
## GO:0048167 GO:0048167 regulation of synaptic plasticity
## GO:0098742 GO:0098742 cell-cell adhesion via plasma-membrane adhesion molecules
## GeneRatio BgRatio pvalue p.adjust qvalue
## GO:0060078 8/99 156/21081 7.272040e-07 0.0008540246 0.0007574955
## GO:0099565 7/99 118/21081 1.400040e-06 0.0008540246 0.0007574955
## GO:0042391 12/99 473/21081 2.237610e-06 0.0009099616 0.0008071100
## GO:0050890 10/99 349/21081 5.741818e-06 0.0014298096 0.0012682004
## GO:0048167 8/99 213/21081 7.414808e-06 0.0014298096 0.0012682004
## GO:0098742 9/99 288/21081 8.649168e-06 0.0014298096 0.0012682004
## geneID
## GO:0060078 GABRG1/CBLN1/GLRA3/CUX2/CHRNA4/GABRB3/SHANK2/RIMS2
## GO:0099565 CBLN1/GLRA3/CUX2/CHRNA4/GABRB3/SHANK2/RIMS2
## GO:0042391 GABRG1/CACNG2/CBLN1/GLRA3/SLC1A6/CUX2/CHRNA4/GABRB3/KCNB1/SHANK2/RIMS2/CTNNA3
## GO:0050890 JPH3/TNR/CUX2/AFF2/CHRNA4/HRH3/SHANK2/PAK5/RASGRF1/SHISA7
## GO:0048167 CBLN1/JPH3/TNR/KCNB1/SHANK2/RIMS2/RASGRF1/SHISA7
## GO:0098742 PCDH15/CBLN1/PTPRT/DSCAML1/IGFN1/CDH18/PCDH11X/CDHR1/IL1RAPL1
## Count
## GO:0060078 8
## GO:0099565 7
## GO:0042391 12
## GO:0050890 10
## GO:0048167 8
## GO:0098742 9
ego.gli.dn <- id.table(ego.gli.dn)
## to collect all functional analysis results
fa.DEA2 <- rbind(fa.DEA2,
ego.gli.up[,keep.colums.enricher],
ego.gli.dn[,keep.colums.enricher])
set.seed(1234567)
### GBM vs LGG
## BIOLOGICAL PROCESS (BP)
# GSEA GO BP
ggo.gli.BP <- gseGO(geneList = c(gli.up.gene,
gli.dn.gene),
OrgDb = org.Hs.eg.db,
ont = "BP",
pvalueCutoff = 0.05,
verbose = FALSE)
## Warning in preparePathwaysAndStats(pathways, stats, minSize, maxSize,
## gseaParam, : There are duplicate gene names, fgsea may produce unexpected
## results.
## Warning in fgseaMultilevel(...): For some pathways, in reality P-values are less
## than 1e-10. You can set the `eps` argument to zero for better estimation.
ggo.gli.BP <- setReadable(ggo.gli.BP, 'org.Hs.eg.db', 'ENTREZID')
#gbm vs lgg gsea GO up
ggo.gli.up <- ggo.gli.BP[which(ggo.gli.BP$NES > 1),]
head(ggo.gli.up)
## ID Description setSize
## GO:0003002 GO:0003002 regionalization 34
## GO:0007389 GO:0007389 pattern specification process 37
## GO:0009952 GO:0009952 anterior/posterior pattern specification 28
## GO:0001501 GO:0001501 skeletal system development 51
## GO:0009790 GO:0009790 embryo development 59
## GO:0006357 GO:0006357 regulation of transcription by RNA polymerase II 68
## enrichmentScore NES pvalue p.adjust qvalues rank
## GO:0003002 0.6648510 3.577618 1.000000e-10 2.486667e-08 1.673684e-08 112
## GO:0007389 0.6431045 3.565661 1.000000e-10 2.486667e-08 1.673684e-08 112
## GO:0009952 0.6931071 3.454760 1.000000e-10 2.486667e-08 1.673684e-08 112
## GO:0001501 0.5323760 3.278901 3.288976e-10 6.133941e-08 4.128531e-08 115
## GO:0009790 0.4817326 3.068515 2.731731e-09 4.075742e-07 2.743233e-07 176
## GO:0006357 0.4488886 3.017556 6.304403e-09 5.663920e-07 3.812177e-07 112
## leading_edge
## GO:0003002 tags=71%, list=16%, signal=62%
## GO:0007389 tags=68%, list=16%, signal=60%
## GO:0009952 tags=75%, list=16%, signal=66%
## GO:0001501 tags=55%, list=16%, signal=50%
## GO:0009790 tags=59%, list=25%, signal=49%
## GO:0006357 tags=46%, list=16%, signal=42%
## core_enrichment
## GO:0003002 HOXC10/HOXA5/HOXA3/HOXD11/HOXD13/MEOX2/HOXC11/HOXA2/NKX2-5/HOXD10/HOXC13/HOXA4/HOXC9/HOXC6/HOXB3/HOXA6/HOXA10/HOXA7/EN1/HOXC8/DMRTA2/HOXB4/HOXA9/HOXD9
## GO:0007389 HOXC10/HOXA5/HOXA3/HOXD11/HOXD13/MEOX2/HOXC11/HOXA2/NKX2-5/HOXD10/HOXC13/HOXA4/HOXC9/HOXC6/HOXB3/HOXA6/HOXA10/HOXA7/EN1/HOXC8/STC1/DMRTA2/HOXB4/HOXA9/HOXD9
## GO:0009952 HOXC10/HOXA5/HOXA3/HOXD13/MEOX2/HOXC11/HOXA2/HOXD10/HOXC13/HOXA4/HOXC9/HOXC6/HOXB3/HOXA6/HOXA10/HOXA7/EN1/HOXC8/HOXB4/HOXA9/HOXD9
## GO:0001501 CHI3L1/HOXC10/LTF/HOXA5/HOXA3/SHOX2/HOXD13/HOXC11/HOXA2/HOXD10/MMP9/HOXA4/HOXC9/HOXC6/HOXB3/HOXA6/HOXA10/HOXA7/EN1/HOXC8/HMGA2/TIMP1/STC1/COL3A1/HOXB4/HOXA9/HOXD9/COL1A1
## GO:0009790 HOXC10/HOXA5/HOXA3/SHOX2/HOXD13/MEOX2/HOXC11/HOXA2/NKX2-5/HOXD10/MMP9/HOXA4/HOXC9/HOXC6/HOXB3/HOXA6/HOXA10/HOXA7/CHRNA9/EN1/HMGA2/CXCL8/HOXB4/HOXA9/HOXD9/COL1A1/HOXB2/LIF/GATA4/ADM/RARRES2/PITX1/COL8A1/C6orf141/HOXA1
## GO:0006357 HOXC10/HOXA5/HOXA3/HOXD11/SHOX2/HOXD13/MEOX2/OTP/HOXC11/HOXA2/NKX2-5/HOXD10/HOXC13/HOXA4/HOXC9/PAX3/HOXC6/HOXB3/HOXA6/HOXA10/HOXA7/EN1/HOXC8/HMGA2/CA9/HOXB13/DMRTA2/CXCL10/HOXB4/HOXA9/HOXD9
ggo.gli.up <- id.table(ggo.gli.up)
#gbm vs lgg gsea GO down
ggo.gli.dn <- ggo.gli.BP[which(ggo.gli.BP$NES < -1),]
head(ggo.gli.dn)
## ID Description setSize
## GO:0007268 GO:0007268 chemical synaptic transmission 23
## GO:0098916 GO:0098916 anterograde trans-synaptic signaling 23
## GO:0099536 GO:0099536 synaptic signaling 25
## GO:0099537 GO:0099537 trans-synaptic signaling 25
## GO:0050804 GO:0050804 modulation of chemical synaptic transmission 14
## GO:0099177 GO:0099177 regulation of trans-synaptic signaling 15
## enrichmentScore NES pvalue p.adjust qvalues
## GO:0007268 -0.6082573 -3.606622 1.936621e-08 1.203933e-06 8.103232e-07
## GO:0098916 -0.6082573 -3.606622 1.936621e-08 1.203933e-06 8.103232e-07
## GO:0099536 -0.5704739 -3.468025 3.754400e-08 1.217732e-06 8.196105e-07
## GO:0099537 -0.5704739 -3.468025 3.754400e-08 1.217732e-06 8.196105e-07
## GO:0050804 -0.6952607 -3.172330 1.970209e-07 4.082710e-06 2.747923e-06
## GO:0099177 -0.6217264 -2.963727 1.139107e-05 1.196864e-04 8.055656e-05
## rank leading_edge
## GO:0007268 139 tags=78%, list=19%, signal=65%
## GO:0098916 139 tags=78%, list=19%, signal=65%
## GO:0099536 144 tags=76%, list=20%, signal=63%
## GO:0099537 144 tags=76%, list=20%, signal=63%
## GO:0050804 139 tags=86%, list=19%, signal=70%
## GO:0099177 139 tags=80%, list=19%, signal=66%
## core_enrichment
## GO:0007268 NRG3/SHISA7/RASGRF1/RIMS2/SHANK2/KCNB1/HRH3/GABRB3/CHRNA4/CUX2/SLC1A6/HTR1A/TNR/JPH3/GLRA3/CBLN1/CACNG2/GABRG1
## GO:0098916 NRG3/SHISA7/RASGRF1/RIMS2/SHANK2/KCNB1/HRH3/GABRB3/CHRNA4/CUX2/SLC1A6/HTR1A/TNR/JPH3/GLRA3/CBLN1/CACNG2/GABRG1
## GO:0099536 IL1RAPL1/NRG3/SHISA7/RASGRF1/RIMS2/SHANK2/KCNB1/HRH3/GABRB3/CHRNA4/CUX2/SLC1A6/HTR1A/TNR/JPH3/GLRA3/CBLN1/CACNG2/GABRG1
## GO:0099537 IL1RAPL1/NRG3/SHISA7/RASGRF1/RIMS2/SHANK2/KCNB1/HRH3/GABRB3/CHRNA4/CUX2/SLC1A6/HTR1A/TNR/JPH3/GLRA3/CBLN1/CACNG2/GABRG1
## GO:0050804 NRG3/SHISA7/RASGRF1/RIMS2/SHANK2/KCNB1/CHRNA4/CUX2/TNR/JPH3/CBLN1/CACNG2
## GO:0099177 NRG3/SHISA7/RASGRF1/RIMS2/SHANK2/KCNB1/CHRNA4/CUX2/TNR/JPH3/CBLN1/CACNG2
ggo.gli.dn <- id.table(ggo.gli.dn)
## to collect all functional analysis results
fa.DEA2 <- rbind(fa.DEA2,
setNames(ggo.gli.up[,keep.colums.gsea],names(fa.DEA2)),
setNames(ggo.gli.dn[,keep.colums.gsea],names(fa.DEA2)))
### GBM vs LGG
# ORA KEGG up
ekg.gli.up <- enrichKEGG(gene = names(gli.up.gene),
organism = "hsa",
pAdjustMethod = "BH",
universe = names(gli.all.gene),
pvalueCutoff = 0.05)
ekg.gli.up <- setReadable(ekg.gli.up, org.Hs.eg.db, keyType = "ENTREZID")
head(ekg.gli.up)
## ID Description
## hsa04974 hsa04974 Protein digestion and absorption
## hsa04060 hsa04060 Cytokine-cytokine receptor interaction
## hsa04610 hsa04610 Complement and coagulation cascades
## hsa05202 hsa05202 Transcriptional misregulation in cancer
## hsa04512 hsa04512 ECM-receptor interaction
## hsa04933 hsa04933 AGE-RAGE signaling pathway in diabetic complications
## GeneRatio BgRatio pvalue p.adjust qvalue
## hsa04974 11/121 75/6318 1.400791e-07 1.361054e-05 1.209313e-05
## hsa04060 16/121 173/6318 1.463499e-07 1.361054e-05 1.209313e-05
## hsa04610 8/121 56/6318 9.449752e-06 4.793335e-04 4.258934e-04
## hsa05202 13/121 161/6318 1.065447e-05 4.793335e-04 4.258934e-04
## hsa04512 9/121 78/6318 1.544544e-05 4.793335e-04 4.258934e-04
## hsa04933 10/121 98/6318 1.546237e-05 4.793335e-04 4.258934e-04
## geneID
## hsa04974 COL3A1/COL1A1/COL8A1/COL6A3/COL4A1/COL6A2/COL5A1/COL1A2/DPP4/COL4A2/COL5A2
## hsa04060 CXCL8/IL2RA/IL13RA2/CXCL10/GDF15/LIF/CCL18/TNFRSF12A/TNFRSF11B/CSF3/CXCL11/TNFSF14/IL1RN/CLCF1/IL6/IL1R2
## hsa04610 SERPINA5/SERPINE1/F13A1/PLAU/BDKRB2/PLAUR/PLAT/SERPINA1
## hsa05202 MMP9/PAX3/HOXA10/HMGA2/CXCL8/HOXA9/HOXA11/PLAU/IL6/IL1R2/IGFBP3/PLAT/H3-5
## hsa04512 IBSP/COL1A1/COL6A3/COL4A1/COL6A2/COL1A2/SPP1/THBS1/COL4A2
## hsa04933 CXCL8/COL3A1/COL1A1/SERPINE1/COL4A1/VEGFA/NOX4/COL1A2/IL6/COL4A2
## Count
## hsa04974 11
## hsa04060 16
## hsa04610 8
## hsa05202 13
## hsa04512 9
## hsa04933 10
ekg.gli.up <- id.table(ekg.gli.up, size = 16)
# ORA KEGG down
ekg.gli.dn <- enrichKEGG(gene = names(gli.dn.gene),
organism = "hsa",
pAdjustMethod = "BH",
universe = names(gli.all.gene),
pvalueCutoff = 0.05)
ekg.gli.dn <- setReadable(ekg.gli.dn, org.Hs.eg.db, keyType = "ENTREZID")
head(ekg.gli.dn)
## ID Description GeneRatio BgRatio
## hsa04080 hsa04080 Neuroactive ligand-receptor interaction 9/39 208/6318
## hsa05033 hsa05033 Nicotine addiction 3/39 33/6318
## pvalue p.adjust qvalue
## hsa04080 3.431469e-06 0.0002916749 0.0002781296
## hsa05033 1.043998e-03 0.0443699285 0.0423094055
## geneID Count
## hsa04080 HRH3/GABRB3/VIPR2/CHRNA4/HTR1A/GLRA3/GABRG1/SSTR1/PRLHR 9
## hsa05033 GABRB3/CHRNA4/GABRG1 3
ekg.gli.dn <- id.table(ekg.gli.dn, size = 2)
## to collect all functional analysis results
fa.DEA2 <- rbind(fa.DEA2,
ekg.gli.up[,keep.colums.enricher],
ekg.gli.dn[,keep.colums.enricher])
set.seed(1234567)
##GBM vs LGG
#GSEA in KEGG
gkg.gli <- gseKEGG(geneList = c(gli.up.gene,
gli.dn.gene),
organism = "hsa",
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
verbose = FALSE
)
## Warning in preparePathwaysAndStats(pathways, stats, minSize, maxSize,
## gseaParam, : There are duplicate gene names, fgsea may produce unexpected
## results.
gkg.gli <- setReadable(gkg.gli, 'org.Hs.eg.db', 'ENTREZID')
#gbm vs lgg gsea kegg up
gkg.gli.up <- gkg.gli[which(gkg.gli$NES > 1),]
head(gkg.gli.up)
## [1] ID Description setSize enrichmentScore
## [5] NES pvalue p.adjust qvalues
## [9] rank leading_edge core_enrichment
## <0 rows> (or 0-length row.names)
#gkg.gli.up <- id.table(gkg.gli.up) # no results
#gbm vs lgg gsea kegg down
gkg.gli.dn <- gkg.gli[which(gkg.gli$NES < -1),]
head(gkg.gli.dn)
## ID Description setSize
## hsa04080 hsa04080 Neuroactive ligand-receptor interaction 16
## enrichmentScore NES pvalue p.adjust qvalues rank
## hsa04080 -0.4788222 -2.357797 0.001063839 0.01276607 0.01119831 87
## leading_edge
## hsa04080 tags=56%, list=12%, signal=51%
## core_enrichment
## hsa04080 HRH3/GABRB3/VIPR2/CHRNA4/HTR1A/GLRA3/GABRG1/SSTR1/PRLHR
gkg.gli.dn <- id.table(gkg.gli.dn, size = 1)
fa.DEA2 <- rbind(fa.DEA2,
#setNames(gwp.gli.up[,keep.colums.gsea], names(fa.DEA2)),
setNames(gkg.gli.dn[,keep.colums.gsea],names(fa.DEA2)))
writexl::write_xlsx(fa.DEA2, path = "DEAsets/fa.DEA2.xlsx")
As the same as analysis 1, in this section different wordclouds are shown from proccess and genes involve in the proccess.
#### Wordclouds for FA2 ####
### acronyms
## databases
# wp = wikipathways
# go = gene ontology
# kg = KEGG
##cases
# gbm = GBM vs colon
# lgg = LGG vs colon
# gli = GBM vs LGG
### WIKIPATHWAYS ####
## GLIOMAS: GBM vs LGG
#up-regulated
fa.wp.gli.up.2<- proccess.table(fa.table = fa.DEA2,
database = "wp",
cases = "gli",
reg = "up")
head(fa.wp.gli.up.2)
## t Freq
## 8 IL-18 signaling pathway 2
## 1 Complement and Coagulation Cascades 1
## 2 COVID-19 adverse outcome pathway 1
## 3 Endochondral Ossification 1
## 4 Endochondral Ossification with Skeletal Dysplasias 1
## 5 Extracellular vesicles in the crosstalk of cardiac cells 1
getwordcloud(fa.table = fa.DEA2,
database = "wp",
cases = "gli",
reg = "up")
#down-regulated
fa.wp.gli.dn.2<- proccess.table(fa.table = fa.DEA2,
database = "wp",
cases = "gli",
reg = "dn")
head(fa.wp.gli.dn.2)
## t Freq
## 1 GPCRs, Class A Rhodopsin-like 1
getwordcloud(fa.table = fa.DEA2,
database = "wp",
cases = "gli",
reg = "dn")
## GENE ONTOLOGY ####
## GLIOMAS: GBM vs LGG
#up-regulated
fa.go.gli.up.2<- proccess.table(fa.table = fa.DEA2,
database = "go",
cases = "gli",
reg = "up")
head(fa.go.gli.up.2)
## t Freq
## 1 anterior/posterior pattern specification 2
## 24 regionalization 2
## 2 appendage development 1
## 3 biosynthetic process 1
## 4 cartilage development 1
## 5 collagen fibril organization 1
getwordcloud(fa.table = fa.DEA2,
database = "go",
cases = "gli",
reg = "up")
#down-regulated
fa.go.gli.dn.2<- proccess.table(fa.table = fa.DEA2,
database = "go",
cases = "gli",
reg = "dn")
head(fa.go.gli.dn.2)
## t Freq
## 2 cell-cell adhesion via plasma-membrane adhesion molecules 2
## 6 cognition 2
## 26 regulation of membrane potential 2
## 29 regulation of postsynaptic membrane potential 2
## 33 synapse organization 2
## 1 anterograde trans-synaptic signaling 1
getwordcloud(fa.table = fa.DEA2,
database = "go",
cases = "gli",
reg = "dn")
## KEGG ####
## GLIOMAS: GBM vs LGG
#up-regulated
fa.kg.gli.up.2<- proccess.table(fa.table = fa.DEA2,
database = "kg",
cases = "gli",
reg = "up")
head(fa.kg.gli.up.2)
## t Freq
## 1 AGE-RAGE signaling pathway in diabetic complications 1
## 2 Amoebiasis 1
## 3 Bladder cancer 1
## 4 Complement and coagulation cascades 1
## 5 Cytokine-cytokine receptor interaction 1
## 6 ECM-receptor interaction 1
getwordcloud(fa.table = fa.DEA2,
database = "kg",
cases = "gli",
reg = "up")
#down-regulated
fa.kg.gli.dn.2<- proccess.table(fa.table = fa.DEA2,
database = "kg",
cases = "gli",
reg = "dn")
head(fa.kg.gli.dn.2)
## t Freq
## 1 Neuroactive ligand-receptor interaction 2
## 2 Nicotine addiction 1
getwordcloud(fa.table = fa.DEA2,
database = "kg",
cases = "gli",
reg = "dn")
In this section are run several algorithms of machine learning with a classification aim. The algorithms are the following:
From supervised analysis method:
+ K nearest neighbourhood + Artificial Neural Network + Support Vector Machine + Random Forest
From non-supervised analysis method: + k mean + hierarchical clustering + Gaussian
Every algorithms will be run with different gene sets and also contains internal parameter which will be adjusted. Four analysis are done with each algorithm:
+ All genes from analysis 1: GBM, LGG and colon cases.
+ DEG for analysis 1: GBM vs colon and LGG vs colon DEA1. + All genes for analysis 2: GBM and LGG cases.
+ DEG for analysis 2: GBM vs LGG DEA2.
library(caret) #evaluation
library(kableExtra) #tables
library(class)#knn
library(mclust) #GBM
library(dbscan)
The next chunk is optional to reduce the number of cases for the algorithm execution. Cases could be reduced due to computational cost. It is optional but it’s also recommended for high-cost computational algorithm.
##Case reduction for ML analysis is optional
set.seed(987654321)
#optional percentage
percent <- 1
#Cases for FULL data
clust.ids.F <- sort(sample(x = 1:length(colnames(v.F$E)),
size = length(colnames(v.F$E))*percent,
replace = FALSE))
clust.F <- group_f[clust.ids.F]
prop.table(table(clust.F))
## clust.F
## colon gbm lgg
## 0.4256536 0.1421569 0.4321895
prop.table(table(group_f))
## group_f
## colon gbm lgg
## 0.4256536 0.1421569 0.4321895
#Cases for SIM data
clust.ids.S <- which(clust.ids.F <= length(colnames(v.S$E)))
clust.S <- group_s[clust.ids.S]
##Assigning number case for patients
#it will be used for plots in ML analysis
# FULL data
patients.id <- c(paste(levels(group_f)[2], 1:length(group_f[which(group_f == "gbm")]),sep = "_"),
paste(levels(group_f)[3], 1:length(group_f[which(group_f == "lgg")]),sep = "_"),
paste(levels(group_f)[1], 1:length(group_f[which(group_f == "colon")]),sep = "_")
)
colnames(v.F$E) <- patients.id
#SIM data
patients.id <- patients.id[1:length(group_s)]
colnames(v.S$E) <- patients.id
Moreover, we need to define some genesets for the ML analysis
#ALL genes from analysis 1
all.a1 <- gbm.all.genelist$ENSEMBL
#Differential expresed genes from DEA1
deg.a1 <- unique(c(gbm.up.genelist$ENSEMBL,
gbm.dn.genelist$ENSEMBL,
lgg.up.genelist$ENSEMBL,
lgg.dn.genelist$ENSEMBL
)
)
length(deg.a1)
## [1] 6661
#ALL genes from analysis 2
all.a2 <- gli.all.genelist$ENSEMBL
#Differential expresed genes from DEA2
deg.a2 <- unique(c(gli.up.genelist$ENSEMBL,
gli.dn.genelist$ENSEMBL
)
)
length(deg.a2)
## [1] 713
#variables to save supervised analysis
reset.var.s <- function(){
cont.mat <<- data.frame()
parametro <<- c()
accuracy <<- c()
kappa.e <<- c()
}
#This chunk save a variable for the supervised analysis.
#col_cont.mat
str_cancer <- c("colon","gbm","lgg")
count <- 1
col_cont.mat <- c()
for (i in 1:3){
for (j in 1:3){
col_cont.mat[count] <- paste(str_cancer[i],str_cancer[j], sep = "_as_")
count <- count + 1
}
}
For supervised analysis 1 we need to build train and test dataset.
#### Building training and test dataset.
#dataset train and test
set.seed(123456789)
#numbers of data for each dataset
n_train <- round(0.67*length(clust.F),0)
n_test <- round(0.33*length(clust.F),0)
#ids for each dataset
train_ids <- sort(sample(x = 1:length(clust.F),size = n_train,replace = FALSE))
test_ids <- c(1:length(clust.F))[-train_ids]
#building training and test dataset
train_data <- list(all.F = v.F$E[all.a1,train_ids],
DEG.F = v.F$E[deg.a1,train_ids])
test_data <- list(all.F = v.F$E[all.a1,test_ids],
DEG.F = v.F$E[deg.a1,test_ids])
#labelling dataset
train_label <- clust.F[train_ids]
test_label <- clust.F[test_ids]
#proportions
#train dataset
round(prop.table(table(train_label)),3)*100
## train_label
## colon gbm lgg
## 43.2 14.3 42.6
#test dataset
round(prop.table(table(test_label)),3)*100
## test_label
## colon gbm lgg
## 41.3 14.1 44.6
#dataset
round(prop.table(table(clust.F)),3)*100
## clust.F
## colon gbm lgg
## 42.6 14.2 43.2
#short function to extract data train and test
getset <- function(set){
train <- train_data[[set]]
test <- test_data[[set]]
data <- list(train = train,
test = test)
return(data)
}
### Knn algorithm
#Evaluating models with different k values (neighbours)
ks <- c(3,5)
#function to evaluate knn models
eval.knn <-function(model, geneset, n.mod,
cm = cont.mat,parameter.e = parametro,
accuracy.e = accuracy, kappa = kappa.e){
modelos <- c(rep(model,n.mod))
gens <- c(rep(geneset,n.mod))
resum <- data.frame(modelos, parameter.e, gens,
round(accuracy.e,3), round(kappa.e,3),
cont.mat)
names(resum) <- c("model", "parameter", "geneset",
"accuracy", "kappa", col_cont.mat)
return(resum)
}
#### DATA all.F ####
## ALL genes analysis FULL data
data <- getset(set = "all.F")
#reseting variables
reset.var.s()
#for loop to execute knn algorithm with differen k values
j <- 0 #counter
for (i in ks){
j <- j +1 #add 1 to counter
#execution of knn value k = i
test_pred <- knn(train = t(data$train),
test = t(data$test),
cl = train_label,
k=i,
prob = TRUE)
#confusion matrix
conf_knn <- confusionMatrix(test_pred, test_label)
#variables of confusion matrix to save the model
parametro[j] <- paste("k = ", i)
cont.mat<- rbind(cont.mat, c(conf_knn[["table"]]))
accuracy[j] <- conf_knn[["overall"]][["Accuracy"]]
kappa.e[j] <- conf_knn[["overall"]][["Kappa"]]
}
#evaluation
resum <- eval.knn(model = "kNN",
n.mod = 2,
geneset = "ALL",
parameter.e = parametro,
kappa = kappa.e)
#tabla from knn
knn.all.F <- resum
knn.all.F
## model parameter geneset accuracy kappa colon_as_colon colon_as_gbm
## 1 kNN k = 3 ALL 0.980 0.967 167 0
## 2 kNN k = 5 ALL 0.985 0.976 167 0
## colon_as_lgg gbm_as_colon gbm_as_gbm gbm_as_lgg lgg_as_colon lgg_as_gbm
## 1 0 0 51 6 0 2
## 2 0 0 52 5 0 1
## lgg_as_lgg
## 1 178
## 2 179
#### DATA DEG.F ####
## DEG genes analysis FULL data
data <- getset(set = "DEG.F")
#reseting variables
reset.var.s()
#for loop to execute knn algorithm with differen k values
j <- 0 #counter
for (i in ks){
j <- j +1 #add 1 to counter
#execution of knn value k = i
test_pred <- knn(train = t(data$train),
test = t(data$test),
cl = train_label,
k=i,
prob = TRUE)
#confusion matrix
conf_knn <- confusionMatrix(test_pred, test_label)
#variables of confusion matrix to save the model
parametro[j] <- paste("k = ", i)
cont.mat<- rbind(cont.mat, c(conf_knn[["table"]]))
accuracy[j] <- conf_knn[["overall"]][["Accuracy"]]
kappa.e[j] <- conf_knn[["overall"]][["Kappa"]]
}
#evaluation
#evaluation for models of knn
resum <- eval.knn(model = "kNN",
n.mod = 2,
geneset = "DEG",
parameter.e = parametro,
kappa = kappa.e)
#tabla from knn
knn.DEG.F <- resum
knn.DEG.F
## model parameter geneset accuracy kappa colon_as_colon colon_as_gbm
## 1 kNN k = 3 DEG 0.980 0.968 167 0
## 2 kNN k = 5 DEG 0.983 0.972 167 0
## colon_as_lgg gbm_as_colon gbm_as_gbm gbm_as_lgg lgg_as_colon lgg_as_gbm
## 1 0 0 53 4 0 4
## 2 0 0 52 5 0 2
## lgg_as_lgg
## 1 176
## 2 178
### Kmean algorithm
#function to evaluate kmean models
eval.km <- function(result, group.clust,
geneset, parameter.e,
model = "kmeans"){
kmeans <- result
group <- group.clust
#assign each cluster with the level group
km_eval <- data.frame(cluster = kmeans,
group = group)
levels_new_group <- c()
for (i in 1:3){
km_eval$new_group[km_eval$group == levels(group)[i]] <-
which.max(tabulate(km_eval$cluster[km_eval$group == levels(group)[i]]))
}
for (i in 1:3){
levels_new_group[i] <- as.character(km_eval$group[which(km_eval$new_group == i)])[2]
}
actual_label <- factor(km_eval$group, levels = levels_new_group)
predict_cluster <- as.factor(km_eval$cluster)
levels(predict_cluster) <- levels_new_group
#reseting variables
reset.var.s()
#to evaluate confusionmatrix
con_mat <- confusionMatrix(predict_cluster,actual_label)
cont.mat<- rbind(cont.mat,c(con_mat[["table"]]))
accuracy <- con_mat[["overall"]][["Accuracy"]]
kappa.e <- con_mat[["overall"]][["Kappa"]]
#resumen
resum <- data.frame(model, parameter.e, geneset,
round(accuracy,3), round(kappa.e,3),
cont.mat)
cont.mat_names <- c()
for (col in colnames(con_mat[["table"]])){
for (row in rownames(con_mat[["table"]])){
cont.mat_names <- append(cont.mat_names, paste(col, "as", row))
}
}
names(resum) <- c("model", "parameter","geneset",
"accuracy", "kappa",cont.mat_names)
return(resum)
}
#### DATA all.F ####
## ALL genes analysis FULL data
data <- t(v.F$E[all.a1, clust.ids.F])
#k mean execution
set.seed(666333666)
km <- kmeans(data,centers = 3) #three groups
fig_clus<- fviz_cluster(object = km,
data = data,
geom = c("text"),
labelsize = 7,
ggtheme = theme_bw(),
main = paste())
fig_clus
##Evaluation
resum <- eval.km(result = km$cluster,
group.clust = clust.F,
geneset = "ALL",parameter.e = "3 groups")
#kmean table
kme.all.F <- resum
kme.all.F
## model parameter geneset accuracy kappa colon as colon colon as lgg
## 1 kmeans 3 groups ALL 0.924 0.879 521 0
## colon as gbm lgg as colon lgg as lgg lgg as gbm gbm as colon gbm as lgg
## 1 0 0 444 85 0 8
## gbm as gbm
## 1 166
#### DATA DEG.F ####
## ALL genes analysis FULL data
data <- t(v.F$E[deg.a1, clust.ids.F])
#k mean execution
set.seed(666333666)
km <- kmeans(data,centers = 3) #three groups
fig_clus<- fviz_cluster(object = km,
data = data,
geom = c("text"),
labelsize = 7,
ggtheme = theme_bw(),
main = paste())
fig_clus
##Evaluation
resum <- eval.km(result = km$cluster,
group.clust = clust.F,
geneset = "DEG",parameter.e = "3 groups")
#kmean table
kme.DEG.F <- resum
kme.DEG.F
## model parameter geneset accuracy kappa colon as colon colon as lgg
## 1 kmeans 3 groups DEG 0.924 0.879 521 0
## colon as gbm lgg as colon lgg as lgg lgg as gbm gbm as colon gbm as lgg
## 1 0 0 444 85 0 8
## gbm as gbm
## 1 166
#### Hierarchical clustering
#### DATA all.F ####
## ALL genes analysis FULL data
data <- t(v.F$E[all.a1, clust.ids.F])
set.seed(123)
d <- dist(data, method = "euclidean")
# Hierarchical clustering using Complete Linkage
hc <- hclust(d, method = "ward.D" )
# Cut tree into 3 groups
sub_grp <- cutree(hc, k = 3)
# Plot full dendogram
fig_hc <-fviz_dend(
hc,
k = 3,
horiz = FALSE,
rect = TRUE,
rect_fill = TRUE,
rect_border = "jco",
k_colors = "jco",
cex = 0.3
)
fig_hc
#evaluation
#function of evaluation of km model can be used here
resum <- eval.km(result = sub_grp, group.clust = clust.F,
geneset = "ALL",parameter.e = "cutree 3",
model = "hclust")
hcl.all.F <- resum
hcl.all.F
## model parameter geneset accuracy kappa gbm as gbm gbm as lgg gbm as colon
## 1 hclust cutree 3 ALL 0.884 0.82 169 5 0
## lgg as gbm lgg as lgg lgg as colon colon as gbm colon as lgg colon as colon
## 1 137 392 0 0 0 521
#### DATA DEG.F ####
## DEG genes analysis FULL data
data <- t(v.F$E[deg.a1, clust.ids.F])
set.seed(123)
d <- dist(data, method = "euclidean")
# Hierarchical clustering using Complete Linkage
hc <- hclust(d, method = "ward.D" )
# Cut tree into 3 groups
sub_grp <- cutree(hc, k = 3)
# Plot full dendogram
fig_hc <-fviz_dend(
hc,
k = 3,
horiz = FALSE,
rect = TRUE,
rect_fill = TRUE,
rect_border = "jco",
k_colors = "jco",
cex = 0.3
)
fig_hc
#evaluation
#function of evaluation of km model can be used here
resum <- eval.km(result = sub_grp, group.clust = clust.F,
geneset = "DEG",parameter.e = "cutree 3",
model = "hclust")
hcl.DEG.F <- resum
hcl.DEG.F
## model parameter geneset accuracy kappa gbm as gbm gbm as lgg gbm as colon
## 1 hclust cutree 3 DEG 0.921 0.874 157 17 0
## lgg as gbm lgg as lgg lgg as colon colon as gbm colon as lgg colon as colon
## 1 80 449 0 0 0 521
For GMM and all genes dataset algorith couln’t be implemented due to stack overflow related problem.
#### Gaussian Mixture Model
#### DATA all.F ####
## ALL genes analysis FULL data
data <- t(v.F$E[all.a1, clust.ids.F])
set.seed(1234567)
#gmm model
#gmm <- Mclust(data, G = 3)
#fig_gmm <- fviz_cluster(object = gmm,
# data = data,
# geom = c("text"),
# labelsize = 7,
# ggtheme = theme_bw(),
# main = paste())
#fig_gmm
#evaluation
#function of evaluation of km model can be also used here
#resum <- eval.km(result = gmm$classification, group.clust = clust.F,
# geneset = "ALL",parameter.e = "G 3",
# model = "hclust")
#
#gmm.all.F <- resum
#gmm.all.F
#### DATA DEG.F ####
## DEG genes analysis FULL data
data <- t(v.F$E[deg.a1, clust.ids.F])
set.seed(1234567)
#gmm model
gmm <- Mclust(data, G = 3)
fig_gmm <- fviz_cluster(object = gmm,
data = data,
geom = c("text"),
labelsize = 7,
ggtheme = theme_bw(),
main = paste())
fig_gmm
#evaluation
#function of evaluation of km model can be also used here
resum <- eval.km(result = gmm$classification, group.clust = clust.F,
geneset = "DEG",parameter.e = "G 3",
model = "GMM")
gmm.DEG.F <- resum
gmm.DEG.F
## model parameter geneset accuracy kappa gbm as gbm gbm as lgg gbm as colon
## 1 GMM G 3 DEG 0.905 0.851 166 8 0
## lgg as gbm lgg as lgg lgg as colon colon as gbm colon as lgg colon as colon
## 1 108 421 0 0 0 521
#### DBSCAN clust
#### DATA all.F ####
## ALL genes analysis FULL data
data <- t(v.F$E[all.a1, clust.ids.F])
#to select the variable eps it is displayed a knndistplot
kNNdistplot(data, k = 50)
abline(h = 225, lty = 2)
#DBSCAN algorithm
set_eps <- 225
minpoints <- 25
dbs <- dbscan(data,eps = set_eps, MinPts = minpoints)
## Warning in dbscan(data, eps = set_eps, MinPts = minpoints): converting argument
## MinPts (fpc) to minPts (dbscan)!
fig_dbs <- fviz_cluster(object = dbs,
data = data,
geom = c("text"),
labelsize = 7,
ggtheme = theme_bw(),
main = paste())
fig_dbs
#evaluation
#function of evaluation of km model can be also used here
resum <- eval.km(result = dbs$cluster,
group.clust = clust.F,
geneset = "ALL",parameter.e = "EPS = 225,
minp = 25",
model = "dbscan")
dbs.all.F <- resum
dbs.all.F
## model parameter geneset accuracy kappa
## 1 dbscan EPS = 225,\n minp = 25 ALL 0.011 -0.182
## gbm as gbm gbm as colon colon as gbm colon as colon
## 1 2 172 16 0
#### DATA DEG.F ####
## DEG genes analysis FULL data
data <- t(v.F$E[deg.a1, clust.ids.F])
#to select the variable eps it is displayed a knndistplot
kNNdistplot(data, k = 25)
abline(h = 160, lty = 2)
#DBSCAN algorithm
set_eps <- 160
minpoints <- 25
dbs <- dbscan(data,eps = set_eps, MinPts = minpoints)
## Warning in dbscan(data, eps = set_eps, MinPts = minpoints): converting argument
## MinPts (fpc) to minPts (dbscan)!
fig_dbs <- fviz_cluster(object = dbs,
data = data,
geom = c("text"),
labelsize = 7,
ggtheme = theme_bw(),
main = paste())
fig_dbs
#evaluation
#function of evaluation of km model can be also used here
resum <- eval.km(result = dbs$cluster,
group.clust = clust.F,
geneset = "DEG",parameter.e = "EPS = 180,
minp = 25",
model = "dbscan")
dbs.DEG.F <- resum
dbs.DEG.F
## model parameter geneset accuracy kappa
## 1 dbscan EPS = 180,\n minp = 25 DEG 0.015 -0.248
## gbm as gbm gbm as colon colon as gbm colon as colon
## 1 3 171 22 0
Chunk for create a table of ML conclusions.
#final table resum
resum_fin.a1 <- rbind(knn.all.F[,1:5],
knn.DEG.F[,1:5],
kme.all.F[,1:5],
kme.DEG.F[,1:5],
hcl.all.F[,1:5],
hcl.DEG.F[,1:5],
#gmm.all.F[,1:5],
gmm.DEG.F[,1:5],
dbs.all.F[,1:5],
dbs.DEG.F[,1:5]
)
writexl::write_xlsx(x = resum_fin.a1,path = "DEAsets/ml.a1conclusions.xlsx")
kable(resum_fin.a1,row.names = FALSE) %>%
kable_styling(position = "center")
| model | parameter | geneset | accuracy | kappa |
|---|---|---|---|---|
| kNN | k = 3 | ALL | 0.980 | 0.967 |
| kNN | k = 5 | ALL | 0.985 | 0.976 |
| kNN | k = 3 | DEG | 0.980 | 0.968 |
| kNN | k = 5 | DEG | 0.983 | 0.972 |
| kmeans | 3 groups | ALL | 0.924 | 0.879 |
| kmeans | 3 groups | DEG | 0.924 | 0.879 |
| hclust | cutree 3 | ALL | 0.884 | 0.820 |
| hclust | cutree 3 | DEG | 0.921 | 0.874 |
| GMM | G 3 | DEG | 0.905 | 0.851 |
| dbscan | EPS = 225, minp = 25 | ALL | 0.011 | -0.182 |
| dbscan | EPS = 180, minp = 25 | DEG | 0.015 | -0.248 |
#col_cont.mat
str_cancer <- c("gbm","lgg")
count <- 1
col_cont.mat2 <- c()
for (i in 1:2){
for (j in 1:2){
col_cont.mat2[count] <- paste(str_cancer[i],str_cancer[j], sep = "_as_")
count <- count + 1
}
}
For supervised analysis 2 we need to build train and test dataset again.
#### Building training and test dataset.
#dataset train and test
set.seed(123456789)
#numbers of data for each dataset
n_train <- round(0.67*length(clust.S),0)
n_test <- round(0.33*length(clust.S),0)
#ids for each dataset
train_ids <- sort(sample(x = 1:length(clust.S),size = n_train,replace = FALSE))
test_ids <- c(1:length(clust.S))[-train_ids]
#building training and test dataset
train_data <- list(all.S = v.S$E[all.a2,train_ids],
DEG.S = v.S$E[deg.a2,train_ids])
test_data <- list(all.S = v.S$E[all.a2,test_ids],
DEG.S = v.S$E[deg.a2,test_ids])
#labelling dataset
train_label <- clust.S[train_ids]
test_label <- clust.S[test_ids]
#proportions
#train dataset
round(prop.table(table(train_label)),3)*100
## train_label
## gbm lgg
## 25.3 74.7
#test dataset
round(prop.table(table(test_label)),3)*100
## test_label
## gbm lgg
## 23.7 76.3
#dataset
round(prop.table(table(clust.S)),3)*100
## clust.S
## gbm lgg
## 24.8 75.2
### Knn algorithm
#Evaluating models with different k values (neighbours)
ks <- c(3,5)
#function to evaluate knn models
eval.knn2 <-function(model, geneset, n.mod,
cm = cont.mat,parameter.e = parametro,
accuracy.e = accuracy, kappa = kappa.e){
modelos <- c(rep(model,n.mod))
gens <- c(rep(geneset,n.mod))
resum <- data.frame(modelos, parameter.e, gens,
round(accuracy.e,3), round(kappa.e,3),
cont.mat)
names(resum) <- c("model", "parameter", "geneset",
"accuracy", "kappa", col_cont.mat2)
return(resum)
}
#### DATA all.S ####
## ALL genes analysis sim data
data <- getset(set = "all.S")
#reseting variables
reset.var.s()
#for loop to execute knn algorithm with differen k values
j <- 0 #counter
for (i in ks){
j <- j +1 #add 1 to counter
#execution of knn value k = i
test_pred <- knn(train = t(data$train),
test = t(data$test),
cl = train_label,
k=i,
prob = TRUE)
#confusion matrix
conf_knn <- confusionMatrix(test_pred, test_label)
#variables of confusion matrix to save the model
parametro[j] <- paste("k = ", i)
cont.mat<- rbind(cont.mat, c(conf_knn[["table"]]))
accuracy[j] <- conf_knn[["overall"]][["Accuracy"]]
kappa.e[j] <- conf_knn[["overall"]][["Kappa"]]
}
#evaluation
resum <- eval.knn2(model = "kNN",
n.mod = 2,
geneset = "ALL",
parameter.e = parametro,
kappa = kappa.e)
#tabla from knn
knn.all.S <- resum
knn.all.S
## model parameter geneset accuracy kappa gbm_as_gbm gbm_as_lgg lgg_as_gbm
## 1 kNN k = 3 ALL 0.966 0.906 52 3 5
## 2 kNN k = 5 ALL 0.957 0.882 51 4 6
## lgg_as_lgg
## 1 172
## 2 171
#### DATA DEG.S ####
## DEG genes analysis sim data
data <- getset(set = "DEG.S")
#reseting variables
reset.var.s()
#for loop to execute knn algorithm with differen k values
j <- 0 #counter
for (i in ks){
j <- j +1 #add 1 to counter
#execution of knn value k = i
test_pred <- knn(train = t(data$train),
test = t(data$test),
cl = train_label,
k=i,
prob = TRUE)
#confusion matrix
conf_knn <- confusionMatrix(test_pred, test_label)
#variables of confusion matrix to save the model
parametro[j] <- paste("k = ", i)
cont.mat<- rbind(cont.mat, c(conf_knn[["table"]]))
accuracy[j] <- conf_knn[["overall"]][["Accuracy"]]
kappa.e[j] <- conf_knn[["overall"]][["Kappa"]]
}
#evaluation
#evaluation for models of knn
resum <- eval.knn2(model = "kNN",
n.mod = 2,
geneset = "DEG",
parameter.e = parametro,
kappa = kappa.e)
#tabla from knn
knn.DEG.S <- resum
knn.DEG.S
## model parameter geneset accuracy kappa gbm_as_gbm gbm_as_lgg lgg_as_gbm
## 1 kNN k = 3 DEG 1.000 1.000 55 0 0
## 2 kNN k = 5 DEG 0.996 0.988 54 1 0
## lgg_as_lgg
## 1 177
## 2 177
### Kmean algorithm
#function to evaluate kmean models
eval.km2 <- function(result, group.clust,
geneset, parameter.e,
model = "kmeans"){
kmeans <- result
group <- group.clust
#assign each cluster with the level group
km_eval <- data.frame(cluster = kmeans,
group = group)
levels_new_group <- c()
for (i in 1:2){
km_eval$new_group[km_eval$group == levels(group)[i]] <-
which.max(tabulate(km_eval$cluster[km_eval$group == levels(group)[i]]))
}
for (i in 1:2){
levels_new_group[i] <- as.character(km_eval$group[which(km_eval$new_group == i)])[2]
}
actual_label <- factor(km_eval$group, levels = levels_new_group)
predict_cluster <- as.factor(km_eval$cluster)
levels(predict_cluster) <- levels_new_group
#reseting variables
reset.var.s()
#to evaluate confusionmatrix
con_mat <- confusionMatrix(predict_cluster,actual_label)
cont.mat<- rbind(cont.mat,c(con_mat[["table"]]))
accuracy <- con_mat[["overall"]][["Accuracy"]]
kappa.e <- con_mat[["overall"]][["Kappa"]]
#resumen
resum <- data.frame(model, parameter.e, geneset,
round(accuracy,3), round(kappa.e,3),
cont.mat)
cont.mat_names <- c()
for (col in colnames(con_mat[["table"]])){
for (row in rownames(con_mat[["table"]])){
cont.mat_names <- append(cont.mat_names, paste(col, "as", row))
}
}
names(resum) <- c("model", "parameter","geneset",
"accuracy", "kappa",cont.mat_names)
return(resum)
}
#### DATA all.S ####
## ALL genes analysis FULL data
data <- t(v.S$E[all.a2, clust.ids.S])
#k mean execution
set.seed(1234567)
km <- kmeans(data,centers = 2) #two groups
fig_clus<- fviz_cluster(object = km,
data = data,
geom = c("text"),
labelsize = 7,
ggtheme = theme_bw(),
main = paste())
fig_clus
##Evaluation
resum <- eval.km(result = km$cluster,
group.clust = clust.S,
geneset = "ALL",parameter.e = "2 groups")
#kmean table
kme.all.S <- resum
kme.all.S
## model parameter geneset accuracy kappa lgg as lgg lgg as gbm gbm as lgg
## 1 kmeans 2 groups ALL 0.868 0.691 444 85 8
## gbm as gbm
## 1 166
#### DATA DEG.F ####
## ALL genes analysis FULL data
data <- t(v.S$E[deg.a2, clust.ids.S])
#k mean execution
#set.seed(1234)
km <- kmeans(data,centers = 2) #three groups
fig_clus<- fviz_cluster(object = km,
data = data,
geom = c("text"),
labelsize = 7,
ggtheme = theme_bw(),
main = paste())
fig_clus
##Evaluation
resum <- eval.km(result = km$cluster,
group.clust = clust.S,
geneset = "DEG",parameter.e = "2 groups")
#kmean table
kme.DEG.S <- resum
kme.DEG.S
## model parameter geneset accuracy kappa gbm as gbm gbm as lgg lgg as gbm
## 1 kmeans 2 groups DEG 0.902 0.763 168 6 63
## lgg as lgg
## 1 466
#### Hierarchical clustering
#### DATA all.S ####
## ALL genes analysis sim data
data <- t(v.S$E[all.a2, clust.ids.S])
set.seed(123)
d <- dist(data, method = "euclidean")
# Hierarchical clustering using Complete Linkage
hc <- hclust(d, method = "ward.D" )
# Cut tree into 2 groups
sub_grp <- cutree(hc, k = 2)
# Plot full dendogram
fig_hc <-fviz_dend(
hc,
k = 2,
horiz = FALSE,
rect = TRUE,
rect_fill = TRUE,
rect_border = "jco",
k_colors = "jco",
cex = 0.3
)
fig_hc
#evaluation
#function of evaluation of km model can be used here
resum <- eval.km(result = sub_grp, group.clust = clust.S,
geneset = "ALL",parameter.e = "cutree 2",
model = "hclust")
hcl.all.S <- resum
hcl.all.S
## model parameter geneset accuracy kappa gbm as gbm gbm as lgg lgg as gbm
## 1 hclust cutree 2 ALL 0.798 0.558 162 12 130
## lgg as lgg
## 1 399
#### DATA DEG.S ####
## DEG genes analysis sim data
data <- t(v.S$E[deg.a2, clust.ids.S])
set.seed(123)
d <- dist(data, method = "euclidean")
# Hierarchical clustering using Complete Linkage
hc <- hclust(d, method = "ward.D" )
# Cut tree into 2 groups
sub_grp <- cutree(hc, k = 2)
# Plot full dendogram
fig_hc <-fviz_dend(
hc,
k = 2,
horiz = FALSE,
rect = TRUE,
rect_fill = TRUE,
rect_border = "jco",
k_colors = "jco",
cex = 0.3
)
fig_hc
#evaluation
#function of evaluation of km model can be used here
resum <- eval.km(result = sub_grp, group.clust = clust.S,
geneset = "DEG",parameter.e = "cutree 2",
model = "hclust")
hcl.DEG.S <- resum
hcl.DEG.S
## model parameter geneset accuracy kappa gbm as gbm gbm as lgg lgg as gbm
## 1 hclust cutree 2 DEG 0.832 0.627 169 5 113
## lgg as lgg
## 1 416
For GMM and all genes dataset algorith couln’t be implemented due to stack overflow related problem.
#### Gaussian Mixture Model
#### DATA all.S ####
## ALL genes analysis sim data
data <- t(v.S$E[all.a2, clust.ids.S])
set.seed(1234567)
#gmm model
#gmm <- Mclust(data, G = 2)
#fig_gmm <- fviz_cluster(object = gmm,
# data = data,
# geom = c("text"),
# labelsize = 7,
# ggtheme = theme_bw(),
# main = paste())
#fig_gmm
#evaluation
#function of evaluation of km model can be also used here
#resum <- eval.km(result = gmm$classification, group.clust = clust.S,
# geneset = "ALL",parameter.e = "G 2",
# model = "GMM")
#gmm.all.S <- resum
#gmm.all.S
#### DATA DEG.S ####
## DEG genes analysis sim data
data <- t(v.S$E[deg.a2, clust.ids.S])
set.seed(1234567)
#gmm model
gmm <- Mclust(data, G = 2)
fig_gmm <- fviz_cluster(object = gmm,
data = data,
geom = c("text"),
labelsize = 7,
ggtheme = theme_bw(),
main = paste())
fig_gmm
#evaluation
#function of evaluation of km model can be also used here
resum <- eval.km(result = gmm$classification, group.clust = clust.S,
geneset = "DEG",parameter.e = "G 2",
model = "GMM")
gmm.DEG.S <- resum
gmm.DEG.S
## model parameter geneset accuracy kappa gbm as gbm gbm as lgg lgg as gbm
## 1 GMM G 2 DEG 0.993 0.981 169 5 0
## lgg as lgg
## 1 529
#### DBSCAN clust
#### DATA all.S ####
## ALL genes analysis sim data
data <- t(v.S$E[all.a2, clust.ids.S])
#to select the variable eps it is displayed a knndistplot
kNNdistplot(data, k = 15)
abline(h = 150, lty = 2)
#DBSCAN algorithm
set_eps <- 140
minpoints <- 15
dbs <- dbscan(data,eps = set_eps, MinPts = minpoints)
## Warning in dbscan(data, eps = set_eps, MinPts = minpoints): converting argument
## MinPts (fpc) to minPts (dbscan)!
fig_dbs <- fviz_cluster(object = dbs,
data = data,
geom = c("text"),
labelsize = 7,
ggtheme = theme_bw(),
main = paste())
fig_dbs #only one group so it won't be evaluated
#evaluation
#function of evaluation of km model can be also used here
resum <- eval.km(result = dbs$cluster,
group.clust = clust.S,
geneset = "ALL",parameter.e = "EPS = 140,
minp = 15",
model = "dbscan")
dbs.all.S <- resum
dbs.all.S
## model parameter geneset accuracy kappa
## 1 dbscan EPS = 140,\n minp = 15 ALL 0.268 -0.244
## lgg as lgg lgg as gbm gbm as lgg gbm as gbm
## 1 153 373 78 12
#### DATA DEG.S ####
## DEG genes analysis sim data
data <- t(v.S$E[deg.a2, clust.ids.S])
#to select the variable eps it is displayed a knndistplot
kNNdistplot(data, k = 15)
abline(h = 55, lty = 2)
#DBSCAN algorithm
set_eps <- 50
minpoints <- 15
dbs <- dbscan(data,eps = set_eps, MinPts = minpoints)
## Warning in dbscan(data, eps = set_eps, MinPts = minpoints): converting argument
## MinPts (fpc) to minPts (dbscan)!
fig_dbs <- fviz_cluster(object = dbs,
data = data,
geom = c("text"),
labelsize = 7,
ggtheme = theme_bw(),
main = paste())
fig_dbs
#evaluation
#function of evaluation of km model can be also used here
resum <- eval.km(result = dbs$cluster,
group.clust = clust.S,
geneset = "DEG",parameter.e = "EPS = 50,
minp = 15",
model = "dbscan")
dbs.DEG.S <- resum
dbs.DEG.S
## model parameter geneset accuracy kappa
## 1 dbscan EPS = 50,\n minp = 15 DEG 0.033 -0.859
## gbm as gbm gbm as lgg lgg as gbm lgg as lgg
## 1 8 161 105 1
Chunk for create a table of ML conclusions.
#final table resum
resum_fin.a2 <- rbind(knn.all.S[,1:5],
knn.DEG.S[,1:5],
kme.all.S[,1:5],
kme.DEG.S[,1:5],
hcl.all.S[,1:5],
hcl.DEG.S[,1:5],
#gmm.all.S[,1:5],
gmm.DEG.S[,1:5],
dbs.all.S[,1:5],
dbs.DEG.S[,1:5])
kable(resum_fin.a2,row.names = FALSE) %>%
kable_styling(position = "center")
| model | parameter | geneset | accuracy | kappa |
|---|---|---|---|---|
| kNN | k = 3 | ALL | 0.966 | 0.906 |
| kNN | k = 5 | ALL | 0.957 | 0.882 |
| kNN | k = 3 | DEG | 1.000 | 1.000 |
| kNN | k = 5 | DEG | 0.996 | 0.988 |
| kmeans | 2 groups | ALL | 0.868 | 0.691 |
| kmeans | 2 groups | DEG | 0.902 | 0.763 |
| hclust | cutree 2 | ALL | 0.798 | 0.558 |
| hclust | cutree 2 | DEG | 0.832 | 0.627 |
| GMM | G 2 | DEG | 0.993 | 0.981 |
| dbscan | EPS = 140, minp = 15 | ALL | 0.268 | -0.244 |
| dbscan | EPS = 50, minp = 15 | DEG | 0.033 | -0.859 |
Alexa, Adrian, and Jörg Rahnenführer. 2009. “Gene Set Enrichment Analysis with topGO.” Bioconductor Improv 27.
Huber, W., V. J. Carey, R. Gentleman, S. Anders, M. Carlson, B. S. Carvalho, H. C. Bravo, et al. 2015. “Orchestrating High-Throughput Genomic Analysis with Bioconductor.” Nature Methods 12 (2): 115–21. http://www.nature.com/nmeth/journal/v12/n2/full/nmeth.3252.html.
Law, Charity W, Monther Alhamdoosh, Shian Su, Xueyi Dong, Luyi Tian, Gordon K Smyth, and Matthew E Ritchie. 2016. “RNA-Seq Analysis Is Easy as 1-2-3 with Limma, Glimma and edgeR.” F1000Research 5.
Law, Charity W, Yunshun Chen, Wei Shi, and Gordon K Smyth. 2014. “Voom: Precision Weights Unlock Linear Model Analysis Tools for Rna-Seq Read Counts.” Genome Biology 15 (2): R29.
McCarthy, Davis J, and Gordon K Smyth. 2009. “Testing Significance Relative to a Fold-Change Threshold Is a Treat.” Bioinformatics 25 (6): 765–71.
Ritchie, Matthew E, Belinda Phipson, DI Wu, Yifang Hu, Charity W Law, Wei Shi, and Gordon K Smyth. 2015. “Limma Powers Differential Expression Analyses for Rna-Sequencing and Microarray Studies.” Nucleic Acids Research 43 (7): e47–e47.
Robinson, Mark D, Davis J McCarthy, and Gordon K Smyth. 2010. “EdgeR: A Bioconductor Package for Differential Expression Analysis of Digital Gene Expression Data.” Bioinformatics 26 (1): 139–40.
Slenter, Denise N, Martina Kutmon, Kristina Hanspers, Anders Riutta, Jacob Windsor, Nuno Nunes, Jonathan Mélius, et al. 2018. “WikiPathways: A Multifaceted Pathway Database Bridging Metabolomics to Other Omics Research.” Nucleic Acids Research 46 (D1): D661–D667.
Xie, Yihui. 2014. “Knitr: A Comprehensive Tool for Reproducible Research in R.” In Implementing Reproducible Computational Research, edited by Victoria Stodden, Friedrich Leisch, and Roger D. Peng. Chapman; Hall/CRC. http://www.crcpress.com/product/isbn/9781466561595.
Xie, Yihui, Christophe Dervieux, and Emily Riederer. 2020. R Markdown Cookbook. Boca Raton, Florida: Chapman; Hall/CRC. https://bookdown.org/yihui/rmarkdown-cookbook.